bytedance/dreamina-4-0/edit
Produce 4K edits with structure-aware adjustments, multi-reference fusion, accurate text replacement, and controlled prompt influence.
Table of contents
1. Get started
Use RunComfy's API to run bytedance/dreamina-4-0/edit. For accepted inputs and outputs, see the model's schema.
curl --request POST \
--url https://model-api.runcomfy.net/v1/models/bytedance/dreamina-4-0/edit \
--header "Content-Type: application/json" \
--header "Authorization: Bearer <token>" \
--data '{
"image_urls": [
"https://playgrounds-storage-public.runcomfy.net/tools/7002/media-files/usecase5-1-1-input.jpg",
"https://playgrounds-storage-public.runcomfy.net/tools/7002/media-files/usecase5-1-2-input.jpg"
],
"prompt": "A beautiful girl is sitting on the boat"
}'2. Authentication
Set the YOUR_API_TOKEN environment variable with your API key (manage keys in your Profile) and include it on every request as a Bearer token via the Authorization header: Authorization: Bearer $YOUR_API_TOKEN.
3. API reference
Submit a request
Submit an asynchronous generation job and immediately receive a request_id plus URLs to check status, fetch results, and cancel.
curl --request POST \
--url https://model-api.runcomfy.net/v1/models/bytedance/dreamina-4-0/edit \
--header "Content-Type: application/json" \
--header "Authorization: Bearer <token>" \
--data '{
"image_urls": [
"https://playgrounds-storage-public.runcomfy.net/tools/7002/media-files/usecase5-1-1-input.jpg",
"https://playgrounds-storage-public.runcomfy.net/tools/7002/media-files/usecase5-1-2-input.jpg"
],
"prompt": "A beautiful girl is sitting on the boat"
}'Monitor request status
Fetch the current state for a request_id ("in_queue", "in_progress", "completed", or "cancelled").
curl --request GET \
--url https://model-api.runcomfy.net/v1/requests/{request_id}/status \
--header "Authorization: Bearer <token>"Retrieve request results
Retrieve the final outputs and metadata for the given request_id; if the job is not complete, the response returns the current state so you can continue polling.
curl --request GET \
--url https://model-api.runcomfy.net/v1/requests/{request_id}/result \
--header "Authorization: Bearer <token>"Cancel a request
Cancel a queued job by request_id, in-progress jobs cannot be cancelled.
curl --request POST \
--url https://model-api.runcomfy.net/v1/requests/{request_id}/cancel \
--header "Authorization: Bearer <token>"4. File inputs
Hosted file (URL)
Provide a publicly reachable HTTPS URL. Ensure the host allows server‑side fetches (no login/cookies required) and isn't rate‑limited or blocking bots. Recommended limits: images ≤ 50 MB (~4K), videos ≤ 100 MB (~2–5 min @ 720p). Prefer stable or pre‑signed URLs for private assets.
5. Schema
Input schema
{
"type": "object",
"title": "Input",
"required": [
"image_urls",
"prompt"
],
"properties": {
"image_urls": {
"title": "Images",
"description": "Only JPEG and PNG formats are supported; JPEG is recommended. Supports 1–10 images; larger or more images increase processing time. Recommended to use no more than 6 images; too many reference images may reduce quality.",
"type": "array",
"items": {
"type": "string",
"format": "image_uri"
},
"validations": [
{
"validation_rule": "file_size_mb<=",
"validation_value": 15,
"validation_error": "Each image file must be ≤ 15 MB."
},
{
"validation_rule": "width_pixels<=",
"validation_value": 4096,
"validation_error": "Maximum resolution is 4096x4096."
},
{
"validation_rule": "height_pixels<=",
"validation_value": 4096,
"validation_error": "Maximum resolution is 4096x4096."
},
{
"validation_rule": "width/height≥",
"validation_value": "0.33",
"validation_error": "The input image aspect ratio must be within [1/3, 3]."
},
{
"validation_rule": "width/height≤",
"validation_value": "3",
"validation_error": "The input image aspect ratio must be within [1/3, 3]."
}
],
"maxItems": 10,
"minItems": 1,
"default": [
"https://playgrounds-storage-public.runcomfy.net/tools/7002/media-files/usecase5-1-1-input.jpg",
"https://playgrounds-storage-public.runcomfy.net/tools/7002/media-files/usecase5-1-2-input.jpg"
]
},
"prompt": {
"title": "prompt",
"description": "",
"type": "string",
"maxLength": 800,
"default": "A beautiful girl is sitting on the boat"
},
"width×height": {
"title": "Aspect Ratio (W:H)",
"description": "",
"type": "string",
"enum": [
"1024x1024(1:1)",
"2048x2048(1:1)",
"2304x1728(4:3)",
"2496x1664(3:2)",
"2560x1440(16:9)",
"3024x1296(21:9)",
"4096x4096(1:1)",
"4694x3520(4:3)",
"4992x3328(3:2)",
"5404x3040(16:9)",
"6198x2656(21:9)"
],
"default": "2048x2048(1:1)"
},
"scale": {
"title": "Scale",
"description": "Controls how strongly the text prompt influences the result relative to input images. Higher values increase text influence.",
"type": "float",
"minimum": 0,
"maximum": 1,
"default": 0.5
},
"force_single": {
"title": "Force Single Image",
"description": "Whether to force generation of a single image. More images per set increase latency; for stability, specify group count/resolution or pass width and height.",
"type": "boolean",
"default": false
}
}
}Output schema
{
"output": {
"type": "object",
"properties": {
"image": {
"type": "string",
"format": "uri",
"description": "single image URL"
},
"video": {
"type": "string",
"format": "uri",
"description": "single video URL"
},
"images": {
"type": "array",
"description": "multiple image URLs",
"items": { "type": "string", "format": "uri" }
},
"videos": {
"type": "array",
"description": "multiple video URLs",
"items": { "type": "string", "format": "uri" }
}
}
}
}