Skip to main content
Rerun Workflow
curl --request POST \
  --url https://api.comfycontrol.app/v1/workflow/{id}/rerun \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "$text_parameter_name": "<string>",
  "#choice_parameter_name": "<string>"
}
'
{
  "400": {},
  "401": {},
  "403": {},
  "404": {},
  "id": "<string>",
  "name": "<string>",
  "status": "<string>",
  "tags": [
    "<string>"
  ],
  "created_at": "<string>",
  "updated_at": "<string>",
  "started_at": "<string>",
  "completed_at": "<string>"
}

Overview

Rerun an existing workflow with new parameter values while keeping the same workflow structure. This is useful for executing the same workflow definition with different inputs.
The workflow definition (JSON structure) is reused from the original workflow. Only dynamic parameters can be changed.
The API playground does not support file uploads. Use cURL, Postman, or your application code to test this endpoint.

Content Type

This endpoint requires multipart/form-data content type for file upload support. Maximum file size: 50MB per request

Path Parameters

id
string
required
The unique identifier (UUID) of the workflow to rerun.

Request Parameters

Only include dynamic parameters you want to update. The original workflow’s name, tags, and structure are preserved.

Dynamic Parameters

$text_parameter_name
string
Text parameter - prefix the field name with $ followed by the placeholder name.Example: $prompt for a new text prompt
$file_parameter_name
file
File parameter - prefix the field name with $ followed by the placeholder name, and include the new file.Example: $input_image for a new image file
#choice_parameter_name
string
Choice parameter - prefix the field name with # followed by the placeholder name.Example: #sampler for a different sampler
Learn more about placeholders and dynamic parameters in the Workflows concept page.

Response

id
string
required
Unique identifier (UUID) for the new workflow instance.
name
string
required
The workflow’s name (same as original).
status
string
required
Initial status of the workflow (typically accepted).Possible values: accepted, uploaded, queued, running, completed, cancelled, invalid, failed
tags
string[]
required
Array of tags associated with the workflow (same as original).
created_at
string
required
ISO 8601 timestamp when the new workflow was created.
updated_at
string
required
ISO 8601 timestamp when the workflow was last updated.
started_at
string
ISO 8601 timestamp when execution started (null initially).
completed_at
string
ISO 8601 timestamp when execution completed (null initially).

Example Response

{
  "id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
  "name": "Text to Image Generation",
  "status": "accepted",
  "tags": ["production", "text2img"],
  "created_at": "2024-01-15T15:45:00Z",
  "updated_at": "2024-01-15T15:45:00Z",
  "started_at": null,
  "completed_at": null
}

cURL Example

Since the API playground doesn’t support file uploads, use this cURL command to test:
curl -X POST https://api.comfycontrol.app/v1/workflow/{id}/rerun \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -F '$prompt=New prompt text here' \
  -F '$input_image=@/path/to/new-image.png' \
  -F '#sampler=dpm_2'
Replace:
  • {id} with the workflow UUID you want to rerun
  • YOUR_API_TOKEN with your actual API token
  • Only include the parameters you want to change
  • Use $ prefix for text/file parameters, # prefix for choice parameters
The -F flag automatically handles multipart/form-data with proper boundaries.

Error Responses

400
error
Bad request - validation error in the request.Common causes:
  • File size exceeds 50MB limit
  • Invalid parameter format
  • Workflow parameter validation failed
  • No runner available with matching tags
401
error
Unauthorized - invalid or missing authentication token.
403
error
Forbidden - workflow parameter limit exceeded for your tier.
404
error
Not Found - original workflow with the specified ID does not exist or does not belong to your account.

Notes

  • Creates a new workflow instance with a new UUID
  • Original workflow remains unchanged
  • Workflow structure (JSON) is copied from the original
  • Name and tags are copied from the original workflow
  • Only dynamic parameters need to be provided
  • The rerun workflow is scheduled on available runners based on the original workflow’s tags
  • Useful for batch processing with different inputs
  • Each rerun counts toward your workflow limits
  • Use cURL, Postman, or application code for testing - the API playground doesn’t support file uploads