Introduction
Seedream 4.0 Image Editing revises supplied imagery with a written change request. Use it for controlled series work when character, composition or visual language should remain recognisable while one deliberate decision changes.
Choose a Seedream 4.0 mode by starting material
| Starting material | Mode |
|---|---|
| A written art direction or design brief | Seedream 4.0 Text to Image |
| An approved source image to revise | Seedream 4.0 Image Editing |
Key features & highlights
Image creation and source-led revision
Seedream 4.0 supports both starting from a written visual brief and revising supplied imagery. Keep those jobs separate: creation establishes a new composition, while editing is judged against the source elements it should retain.
Design work needs a reviewable hierarchy
For a graphic or campaign concept, provide checked copy and define the visual hierarchy before styling details. Review legibility, placement and factual accuracy at the intended delivery format.
A visual result is not a factual source
Use generated imagery to discuss a design direction. Do not treat an attractive result as proof of product details, dimensions or real-world claims that were not independently verified.
Request parameters
| Parameter | Required | Description |
|---|---|---|
prompt | Yes | Name what each reference contributes and what must survive — face, pose, wardrobe, light — and remember the result is recomposed into the size you chose. at least 1 characters |
image_urls | Yes | One to ten publicly fetchable URLs for images you hold the rights to; ten is the most this endpoint accepts. at least 1 items · at most 10 items |
size | No | The delivered widthheight, one of sixteen presets from 10241024 to 40962304; default 20482048. |
Pricing
$0.03 / image
Use cases
Refine a supplied visual
Seedream 4.0 Image to Image takes one to ten reference images plus an instruction and returns a single frame at the size you name. That makes it useful for series work: the same character, restyled, delivered at the same pixel dimensions every time. Name what each reference contributes and what must stay, and pick the preset that matches the source's shape so nothing is recomposed.
Consistent characters from references
Send a face reference, a wardrobe reference and a background plate to the editing endpoint, name what each contributes, and get one frame back at the preset you chose.
Uncensored photo and illustration sets
Uncensored character work and editorial sets run as ordinary prompts, generated at 20482048 or 30723072 so a whole set shares one frame size.
Continuing work started on 4.0
Campaigns and character sets first made with Seedream 4.0 can stay on the same model instead of switching generations halfway and re-matching the style.
Prompt guide & pro tips
Write the brief, or name the references
Send one to ten image URLs in the order your prompt refers to them, and say what each contributes and what must stay.
Poll the task and keep the brief
Create the task, poll for a terminal state and fetch the image from platform storage. There is no seed, so keep the references and the instruction together with any frame you want to build a series on.
Adapt the included example
Start with the published example using size: 1728*2304. Replace the subject and creative direction while keeping the input contract for this mode intact.
Keep the face, body and pose of the woman in Image 1 exactly as they are. Move her to a sunlit Mediterranean terrace with whitewashed walls and bougainvillea, relight her with warm late-afternoon sun from the left, and regrade the whole frame to soft golden tones.
One image in: the instruction protects face, body and pose, then replaces the location and the light. Name the short list that stays and the rest is open. Delivered at the tall 1728*2304 preset to keep the source's portrait shape.
Check the result before iterating
One to ten references, each needing a role named in the prompt; unnamed sources get blended. size still applies, so a reference of a different shape is recomposed into the preset you choose. Long edit chains drift, so go back to the original frame rather than re-editing an edit.
API quick start
# Generate the idempotency key once; reuse it when retrying after a lost response.
export SPICY_IDEMPOTENCY_KEY="${SPICY_IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $SPICY_IDEMPOTENCY_KEY" \
-d '{
"model": "bytedance/seedream-4.0/edit",
"input": {
"image_urls": [
"https://example.com/reference.png"
],
"prompt": "A ceramic teapot on a linen cloth, soft window light, muted palette",
"size": "2048*2048"
}
}'
# Copy data.taskId from the response into TASK_ID, then poll the status.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $SPICY_API_KEY"
See the API reference for authentication, the complete schema, polling, and error handling.











