Routes to Volcengine's image generation service, supporting SSE streaming, image-to-image, and multi-image fusion.
Supported models
Basic generation
curl -X POST https://ai.win10030.com/image/v1/generations \
-H 'Authorization: Bearer sk-xxxxxxxx' \
-H 'Content-Type: application/json' \
-d '{
"model": "doubao-seedream-5-0-260128",
"prompt": "A golden retriever running on grass",
"size": "2k"
}'
Base64 output
curl -X POST https://ai.win10030.com/image/v1/generations \
-H 'Authorization: Bearer sk-xxxxxxxx' \
-H 'Content-Type: application/json' \
-d '{
"model": "doubao-seedream-5-0-260128",
"prompt": "a cat",
"size": "1024x1024",
"response_format": "b64_json"
}'
Image-to-image
curl -X POST https://ai.win10030.com/image/v1/generations \
-H 'Authorization: Bearer sk-xxxxxxxx' \
-H 'Content-Type: application/json' \
-d '{
"model": "doubao-seedream-5-0-260128",
"prompt": "Turn this photo into a cartoon style",
"image": "https://example.com/portrait.jpg",
"size": "1024x1024",
"upstream_options": { "watermark": false, "guidance_scale": 7.5 }
}'
Multi-image fusion
curl -X POST https://ai.win10030.com/image/v1/generations \
-H 'Authorization: Bearer sk-xxxxxxxx' \
-H 'Content-Type: application/json' \
-d '{
"model": "doubao-seedream-5-0-260128",
"prompt": "Place the person into the scene",
"image": ["https://example.com/person.jpg", "https://example.com/scene.jpg"],
"size": "1024x1024"
}'
image also supports object arrays [{ file_id, image_url }].
Streaming
curl -N -X POST https://ai.win10030.com/image/v1/generations \
-H 'Authorization: Bearer sk-xxxxxxxx' \
-H 'Content-Type: application/json' \
-d '{
"model": "doubao-seedream-5-0-260128",
"prompt": "Golden retriever running on grass",
"size": "2k",
"stream": true
}'
Common upstream_options
| Parameter | Description |
|---|---|
watermark | Toggle watermark. Default true |
guidance_scale | Prompt guidance strength, 1-20 |
sequential_image_generation | Sequential image mode |
output_format | Output format, e.g. png, webp |
See also
OverviewInput and output pricing
All Seedream models use the same pricing structure with independently configured unit prices. The first input image is free; additional inputs are charged per image. Each successful output is priced using its actual width × height, with separate tiers for ≤2.61 million and >2.61 million pixels. Generation and layer decomposition have separate prices. Charges are summed, discounted and rounded once; output_tokens does not determine image charges.
GET /image/v1/models/:code/endpoints exposes the full customer pricing, discounts and fiat conversion in pricing.images.seedream. The legacy image price represents the lower generation tier. Usage details retain historical component prices.
Layer decomposition
Set upstream_options.layer_decomposition to true and provide one image. The prompt can be omitted in this mode. Each output preserves size; layer order, name, description and bounding box are returned in its provider_metadata.
{
"model": "your-model-code",
"image": "https://example.com/image.png",
"size": "auto",
"upstream_options": { "layer_decomposition": true }
}
Layer decomposition, streaming and sequential generation depend on upstream capabilities. Seedream 5.0 Pro / Flash currently do not support streaming or sequential generation.