Bytedance Seedream V4.5 Edit Sequential
Playground
Try it on WavespeedAI!Seedream 4.5 Edit Sequential enables multi-image editing with character and object consistency across multiple input images. Accurately identifies main subjects and maintains continuity while applying controlled edits. Supports 4K resolution. Price = unit_price × max_images.
Features
bytedance/seedream-v4.5/edit-sequential (Multi-Image Editing)
Seedream 4.5 Edit Sequential is ByteDance’s multi-image editing model that accurately identifies main subjects across multiple images and maintains character consistency while applying controlled edits.
Model Highlights
- Multi-Image Subject Identification: Accurately identifies main subjects across multiple input images
- Character Consistency Lock: Maintains character identity across all edited outputs
- Reference Image Fidelity: Preserves facial features, lighting, and color tones
- Controllable Generation: Apply consistent edits while maintaining continuity
- High Resolution: Supports up to 4K (4096×4096) resolution per image
- Professional Quality: Clean edges and minimal artifacts
Use Cases
- Batch portrait editing with consistent style
- Product series visualization
- Brand campaign iterations
- Character design variations
- E-commerce catalog editing
- Marketing visual series
Price
$0.04 per image (Price = unit_price × max_images)
How to Use
- Upload source images: Provide multiple base images to edit
- Write edit prompt: Describe the consistent changes to apply
- Set max_images: Specify number of images
- Set size: Maximum resolution 4096×4096
- Run: Generate your edited image series
Authentication
For authentication details, please refer to the Authentication Guide.
API Endpoints
Submit Task & Query Result
# Submit the task
curl --location --request POST "https://api.wavespeed.ai/api/v3/bytedance/seedream-v4.5/edit-sequential" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
"size": "2048*2048",
"max_images": 1,
"enable_base64_output": false,
"enable_sync_mode": false
}'
# Get the result
curl --location --request GET "https://api.wavespeed.ai/api/v3/predictions/${requestId}/result" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}"
Parameters
Task Submission Parameters
Request Parameters
| Parameter | Type | Required | Default | Range | Description |
|---|---|---|---|---|---|
| prompt | string | Yes | - | The positive prompt for the generation. | |
| images | array | No | [] | 1 ~ 10 items | The images to edit. A maximum of 10 reference images can be uploaded. |
| size | string | No | 2048*2048 | 1440 ~ 4096 per dimension | Specify the width and height pixel values of the generated image.Total pixel value range: [2560*1440, 4096*4096] |
| max_images | integer | No | 1 | 1 ~ 15 | The maximum number of images that can be generated (up to 15). This value must align with the number of images specified in the prompt above. |
| enable_base64_output | boolean | No | false | - | If enabled, the output will be encoded into a BASE64 string instead of a URL. This property is only available through the API. |
| enable_sync_mode | boolean | No | false | - | If set to true, the function will wait for the result to be generated and uploaded before returning the response. It allows you to get the result directly in the response. This property is only available through the API. |
Response Parameters
| Parameter | Type | Description |
|---|---|---|
| code | integer | HTTP status code (e.g., 200 for success) |
| message | string | Status message (e.g., “success”) |
| data.id | string | Unique identifier for the prediction, Task Id |
| data.model | string | Model ID used for the prediction |
| data.outputs | array | Array of URLs to the generated content (empty when status is not completed) |
| data.urls | object | Object containing related API endpoints |
| data.urls.get | string | URL to retrieve the prediction result |
| data.has_nsfw_contents | array | Array of boolean values indicating NSFW detection for each output |
| data.status | string | Status of the task: created, processing, completed, or failed |
| data.created_at | string | ISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”) |
| data.error | string | Error message (empty if no error occurred) |
| data.timings | object | Object containing timing details |
| data.timings.inference | integer | Inference time in milliseconds |