---
url: /orchestration/recipes/seedream.md
---

> Documentation index: https://developer.civitai.com/llms.txt — every page on this site has a markdown version at its URL + `.md`.

# 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

```http
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
    }
  }]
}
```

### 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`)

```json
{
  "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
    }
  }]
}
```

### 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:

```json
{
  "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
    }
  }]
}
```

Watch for request-timeout behaviour at large dimensions — see [Runtime](#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:

```json
{
  "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"
      ]
    }
  }]
}
```

Up to 10 reference images per call.

## Reading the result

Standard `imageGen` output: an `images[]` array, one entry per `quantity` ([shape and URL expiry](https://developer.civitai.com/orchestration/recipes.md#reading-results)).

## 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)](https://developer.civitai.com/orchestration/guide/submitting-work.md#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 Buzz**
* `v4`, 1024², `quantity: 1` → **40 Buzz**
* `v5.0-lite`, 1024², `quantity: 1` → **52 Buzz**
* `v4.5` at 2048², `quantity: 1` → 60 Buzz *(dimensions don't affect the fixed base)*
* `v4` with 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](https://developer.civitai.com/orchestration/recipes.md#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`](https://developer.civitai.com/orchestration/reference/operations/SubmitWorkflow.md) · [`GetWorkflow`](https://developer.civitai.com/orchestration/reference/operations/GetWorkflow.md)
* [Google image generation](https://developer.civitai.com/orchestration/recipes/google.md) — commercial alternative with Nano Banana + Imagen 4
* [OpenAI image generation](https://developer.civitai.com/orchestration/recipes/openai.md) — commercial alternative with GPT-Image + DALL·E
* [Flux 2](https://developer.civitai.com/orchestration/recipes/flux2.md) / [Qwen](https://developer.civitai.com/orchestration/recipes/qwen.md) / [SDXL](https://developer.civitai.com/orchestration/recipes/sdxl.md) — open-weights / sdcpp alternatives on Civitai-hosted workers
* [Image upscaling](https://developer.civitai.com/orchestration/recipes/image-upscaler.md) — chain after `imageGen` (Seedream's native 4096 may already cover your upscale needs)
* [Prompt enhancement](https://developer.civitai.com/orchestration/recipes/prompt-enhancement.md) — LLM-rewrite a prompt before feeding it in via `$ref`
* [Seedance video generation](https://developer.civitai.com/orchestration/recipes/seedance.md) — the video counterpart from the same provider, also called directly against BytePlus
* Full parameter catalog: the `SeedreamImageGenInput` schema in the [API reference](https://developer.civitai.com/orchestration/reference.md)
* [`imageGen` OpenAPI spec](https://orchestration.civitai.com/v2/consumer/recipes/imageGen/openapi.yaml)
