qwen/image-editimage-to-imageoutputs imagedocs.kie.aipast runsThe only Qwen endpoint with num_images and sync_mode. num_images is an enum of STRINGS. Its step ceiling is 49, not the 250 its siblings allow, and guidance defaults to 4 rather than 2.5. DOC CONFLICT (two on one page): num_inference_steps prose says "Default value: 30" while the schema says 25 — the schema is what the server reads, so 25 is recorded. acceleration prose says "Options: 'none', 'regular'" while the schema enum is none/regular/high — the enum is recorded. Prompt ceiling is 2000 here and 5000 on both other Qwen 1 endpoints.takes image
aspect_ratio vs ratio vs image_size — the same idea, two names67 modelsCopying a payload between these models silently drops the field, because the receiving model has never heard of that key. uses aspect_ratio: kling-2.6/text-to-video, kling/v2-5-turbo-text-to-video-pro, kling/v2-1-master-text-to-video +52 — uses ratio: wan/2-7-text-to-video — uses image_size: bytedance/seedream, bytedance/seedream-v4-text-to-image, bytedance/seedream-v4-edit +10. google/nano-banana and google/nano-banana-edit declare more than one of these spellings, so setting two of them on the same request sets one idea twice — check which the docs mark current.
image vs image_url vs image_urls vs image_input vs input_urls vs imageUrls — the same idea, two names55 modelsCopying a payload between these models silently drops the field, because the receiving model has never heard of that key. uses image: recraft/crisp-upscale, recraft/remove-background — uses image_url: kling/v2-5-turbo-image-to-video-pro, kling/v2-1-master-image-to-video, kling/v2-1-pro +16 — uses image_urls: kling-2.6/image-to-video, kling-3.0/video, kling/v3-turbo-image-to-video +16 — uses image_input: nano-banana-2, nano-banana-2-1, nano-banana-pro — uses input_urls: kling-2.6/motion-control, kling-3.0/motion-control, bytedance/seedance-1.5-pro +6 — uses imageUrls: veo3, veo3_fast, veo3_lite.
seed is not the same type on every model36 modelsSending the wrong JSON type is rejected as a 422 that names the field but not the reason. as number: bytedance/v1-pro-text-to-video, bytedance/v1-pro-image-to-video, bytedance/v1-lite-text-to-video +31 — as string: google/imagen4, google/imagen4-ultra.
output_format accepts different values on different models23 modelsA value that works on one of these is rejected on another. accepts mov,mp4: bytedance/seedance-2-5 — accepts jpeg,png: seedream/5-lite-text-to-image, seedream/5-lite-image-to-image, seedream/5-flash-text-to-image +14 — accepts jpg,png: nano-banana-2, nano-banana-2-1, nano-banana-pro — accepts jpeg,png,webp: qwen2-1/text-to-image, qwen2-1/image-to-image.
image_size accepts different values on different models13 modelsA value that works on one of these is rejected on another. accepts landscape_16_9,landscape_4_3,portrait_16_9,portrait_4_3,square,square_hd: bytedance/seedream, qwen/text-to-image, qwen/image-edit — accepts landscape_16_9,landscape_21_9,landscape_3_2,landscape_4_3,portrait_16_9,portrait_3_2,portrait_4_3,square,square_hd: bytedance/seedream-v4-text-to-image, bytedance/seedream-v4-edit — accepts 16:9,1:1,21:9,2:3,3:2,3:4,4:3,4:5,5:4,9:16,auto: google/nano-banana, google/nano-banana-edit — accepts 16:9,1:1,3:4,4:3,9:16: qwen2/text-to-image — accepts 16:9,1:1,21:9,2:3,3:2,3:4,4:3,9:16: qwen2/image-edit, qwen3/text-to-image, qwen3/image-to-image +2.
The only Qwen endpoint with num_images and sync_mode. num_images is an enum of STRINGS. Its step ceiling is 49, not the 250 its siblings allow, and guidance defaults to 4 rather than 2.5. DOC CONFLICT (two on one page): num_inference_steps prose says "Default value: 30" while the schema says 25 — the schema is what the server reads, so 25 is recorded. acceleration prose says "Options: 'none', 'regular'" while the schema enum is none/regular/high — the enum is recorded. Prompt ceiling is 2000 here and 5000 on both other Qwen 1 endpoints.
| Field | Type | Accepts | Default |
|---|---|---|---|
image_urlrequiredThe image to edit. jpeg, png or webp, max 10.0 MB. | url | image | — |
promptrequiredThe edit to make. Up to 2000 characters — its two Qwen 1 siblings allow 5000. | text | 0…2000 chars | — |
negative_promptWhat must not appear in the image. Up to 500 characters. | text | 0…500 chars | — |
image_sizeNamed sizes, not ratios — `portrait_16_9` is a 9:16 picture. Qwen 2 and Qwen 3 reuse this key for aspect ratios instead. | enum | square | square_hd | portrait_4_3 | portrait_16_9 | landscape_4_3 | landscape_16_9 | "landscape_4_3" |
output_formatThe generated image format. | enum | jpeg | png | "png" |
accelerationHigher is faster. The prose lists only 'none' and 'regular'; the schema enum also carries 'high'. | enum | none | regular | high | "none" |
num_inference_stepsDenoising steps. More is slower and usually more detailed. 2–49. | number | 2…49, step 1 | 25 |
guidance_scaleCFG — how tightly the image is held to the prompt. Higher follows the words more literally and costs variety. | number | 0…20, step 0.1 | 4 |
num_imagesHow many images to return. QUOTED STRINGS, not numbers — the schema types this field as a string. | enum | 1 | 2 | 3 | 4 | — |
sync_modeUpstream flag that waits for the image before responding. The studio polls either way, so this only makes the task slower. | boolean | — | — |
seedThe same seed with the same prompt and parameters reproduces the same image on the same model version. Omit it for a random one. | seed | — | — |
enable_safety_checkerThe model's own checker, not Kie's. Always on in the Playground; pass false over the API to turn it off. | boolean | — | — |
nsfw_checkerKie's own filter, separate from the model's. Off by default over the API — the Playground turns it on. Filtering is never a guarantee. | boolean | — | false |
The models most easily confused with this one.