Seedream image generation
Seedream is ByteDance's image-generation family. Single engine, multiple versions, native high-resolution support up to 4096×4096, and image editing via images[]:
version | Notes |
|---|---|
v3 | Earliest version. Compatibility only — prefer v4.5 or newer. |
v4 | Balanced quality and speed; lower cost than v4.5. |
v4.5 | Default — refined v4, better detail. Returned when version is omitted. |
v5.0-lite | Latest fast tier — lighter than v4.5 with similar output characteristics for most workloads. |
Default choice: version: "v4.5" (also the API default when the field is omitted). Use v4 when you want lower cost with slightly less detail; try v5.0-lite for faster / cheaper output on the newest release.
Unlike most image engines exposed here, Seedream uses plain width / height (not an enum) and accepts very large outputs — up to 4096 px per side.
Prerequisites
- For image editing: one or more source image URLs, data URLs, or Base64 strings
Text-to-image
POST https://orchestration.civitai.com/v2/consumer/workflows?wait=60
Authorization: Bearer <your-token>
Content-Type: application/json
{
"steps": [{
"$type": "imageGen",
"input": {
"engine": "seedream",
"version": "v4",
"prompt": "A photorealistic portrait of a woman with flowers in her hair, golden hour lighting",
"width": 1024,
"height": 1024,
"guidanceScale": 2.5,
"quantity": 1
}
}]
}/v2/consumer/workflowsRequest body — edit to customize (e.g. swap the image URL or prompt)
Parameters
| Field | Default | Range | Notes |
|---|---|---|---|
version | v4.5 | v3 / v4 / v4.5 / v5.0-lite | Optional; defaults to v4.5. |
prompt | — ✅ | ≥ 1 char | Natural-language works best. |
width / height | 1024 | 256–4096 | Plain pixel dimensions. Stay near ~1 MP for native output; push higher only when you need print-size output. |
quantity | 1 | 1–12 | |
guidanceScale | 2.5 | 1–10 | Lower than SD1/SDXL's 7 — similar range to Flux. |
seed | random | int32 | |
enableSafetyChecker | false | boolean | |
images[] | (none) | max 10 | Passing images[] switches to edit mode. URLs, data URLs, or Base64. |
Newer version (v5.0-lite)
{
"steps": [{
"$type": "imageGen",
"input": {
"engine": "seedream",
"version": "v5.0-lite",
"prompt": "A serene mountain landscape with a crystal clear lake at dawn",
"width": 1536,
"height": 864,
"guidanceScale": 2.5
}
}]
}/v2/consumer/workflowsRequest body — edit to customize (e.g. swap the image URL or prompt)
High-resolution output
Seedream can render up to 4096×4096 natively — useful when you need print-size output without a separate upscaling pass. Expect higher runtime:
{
"steps": [{
"$type": "imageGen",
"input": {
"engine": "seedream",
"version": "v4.5",
"prompt": "An epic fantasy dragon perched on a mountain peak, highly detailed",
"width": 2048,
"height": 2048,
"guidanceScale": 2.5
}
}]
}/v2/consumer/workflowsRequest body — edit to customize (e.g. swap the image URL or prompt)
Watch for request-timeout behaviour at large dimensions — see Runtime below.
Image editing
Drop one or more source images into images[] and the same call switches to edit mode — same shape, prompt is treated as the edit instruction:
{
"steps": [{
"$type": "imageGen",
"input": {
"engine": "seedream",
"version": "v4",
"prompt": "Make it a winter scene with snow falling",
"width": 1024,
"height": 1024,
"images": [
"https://image.civitai.com/.../source.jpeg"
]
}
}]
}/v2/consumer/workflowsRequest body — edit to customize (e.g. swap the image URL or prompt)
Up to 10 reference images per call.
Reading the result
Standard imageGen output: an images[] array, one entry per quantity (shape and URL expiry).
Runtime
| Size | Typical wall time | wait recommendation |
|---|---|---|
| ≤ 1024×1024 | 10–25 s | wait=60 fine |
| 1536×1536 | 20–45 s | wait=60 often fine; fall back to wait=0 on busy periods |
| 2048–4096 per side | 40–90+ s | Use wait=0 + polling — otherwise the call can outlast your HTTP client's timeout |
Combined with quantity > 2, high-res outputs cross the timeout quickly. Always poll for anything above ~1.5 megapixels unless you're running a known-fast version.
Cost
Preview the exact charge with whatif=true (Payments (Buzz)).
Flat per-image pricing by version:
total = base × quantity| Version | Base (per image) |
|---|---|
v4.5 | 60 |
v5.0-lite | 52 |
v4 / v3 | 40 |
Examples:
v4.5, 1024²,quantity: 1→ 60 Buzzv4, 1024²,quantity: 1→ 40 Buzzv5.0-lite, 1024²,quantity: 1→ 52 Buzzv4.5at 2048²,quantity: 1→ 60 Buzz (dimensions don't affect the fixed base)v4with 3 reference images,quantity: 1→ 40 Buzz (editing uses the same base)
Dimensions and images[] count don't change Seedream's Buzz price — the provider charges per-image-generated, not per-megapixel. If you need 4K output, you pay the same as 1K.
Troubleshooting
Timeouts, moderation blocks and expired blob URLs: see Common troubleshooting. Timeouts here usually mean high-resolution output; blocked comes from Seedream's content filter.
| Symptom | Likely cause | Fix |
|---|---|---|
400 with "version must be one of" | Typo or unsupported version slug | Use v3, v4, v4.5, or v5.0-lite (note the v prefix). |
400 with "width/height out of range" | Below 256 or above 4096 | Clamp to 256–4096. |
400 with "images maxItems" | More than 10 source images on edit | Trim to 10. |
| Output too saturated / painterly | guidanceScale too high | Seedream prefers 2–3 — values above 5 typically degrade output. |
Related
SubmitWorkflow·GetWorkflow- Google image generation — commercial alternative with Nano Banana + Imagen 4
- OpenAI image generation — commercial alternative with GPT-Image + DALL·E
- Flux 2 / Qwen / SDXL — open-weights / sdcpp alternatives on Civitai-hosted workers
- Image upscaling — chain after
imageGen(Seedream's native 4096 may already cover your upscale needs) - Prompt enhancement — LLM-rewrite a prompt before feeding it in via
$ref - Seedance video generation — the video counterpart from the same provider, also called directly against BytePlus
- Full parameter catalog: the
SeedreamImageGenInputschema in the API reference imageGenOpenAPI spec