Seedream 5.0 Lite, sold by ByteDance as Doubao Seedream 5.0 Lite, came out in February 2026. Two things set it apart: it renders only at 2K or 3K, so even the smallest output is large, and it can return a set of up to four pictures that belong together. That makes it handy for carousels, comic strips and storyboards where the frames must match.
What you can make
- Instagram carousels and comic panels with one shared look.
- 3K backgrounds and wallpapers, for example 4096x2304.
- A product placed into a scene from two reference images.
- Storyboards where the same character appears in every frame.
Settings that matter
- Resolution: 2K or 3K only (for example 2048x2048). Use 3K when you will crop or print.
- Series: set
num_imagesto 2-4 and describe how frames differ, like "frame 1: ..., frame 2: ...". - Aspect ratio: 8 shapes plus
auto.autoneeds reference images; for text-only runs choose a ratio. 9:21 is not supported, so use 9:16 or 21:9. - References: JPEG or PNG, up to 10 MB and 6000x6000 px, with a shape between 1:3 and 3:1.
- Prompt: up to 4,000 characters.
Starter prompt
Four-panel comic, same fox character in a red scarf. Panel 1: finds a map in the snow. Panel 2: follows it through a forest. Panel 3: reaches a frozen lake. Panel 4: discovers a glowing door. Watercolor styleSet num_images to 4 and keep the character description at the start so it carries into every panel.
Questions
What does Seedream 5.0 Lite charge?
from $0.077 per image. The cost is shown before you send, and failed generations cost nothing.
Can I get a small 1K image or a 4K one?
Neither. Lite only does 2K and 3K. For 4K, try Nano Banana Pro or Wan 2.7 Image Pro.
Is it different from Seedream 5.0 Pro?
Yes. Seedream 5.0 Pro focuses on posters and lettering at 1K to 2K, while Lite goes to 3K and returns matching sets.
Seedream 5.0 Lite in your code
curl https://kadraris.com/v1/generate?wait=60 \
-H "Authorization: Bearer $KADRARIS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedream-5.0-lite",
"input": {
"prompt": "Packshot of a white linen sneaker on a concrete block, hard midday sun, crisp shadow, 85mm",
"aspect_ratio": "1:1",
"resolution": "2k"
}
}'import os, time, requests
API = "https://kadraris.com/v1"
H = {"Authorization": f"Bearer {os.environ['KADRARIS_API_KEY']}"}
task = requests.post(f"{API}/generate", headers=H, json={
"model": "seedream-5.0-lite",
"input": {
"prompt": "Packshot of a white linen sneaker on a concrete block, hard midday sun, crisp shadow, 85mm",
"aspect_ratio": "1:1",
"resolution": "2k"
}
}).json()
while task["status"] in ("queued", "running"):
time.sleep(3)
task = requests.get(f"{API}/tasks/{task['id']}", headers=H).json()
print(task["status"], task["cost"], [o["url"] for o in task["output"]])const API = "https://kadraris.com/v1";
const headers = { Authorization: `Bearer ${process.env.KADRARIS_API_KEY}`, "Content-Type": "application/json" };
let task = await (await fetch(`${API}/generate`, {
method: "POST",
headers,
body: JSON.stringify({
"model": "seedream-5.0-lite",
"input": {
"prompt": "Packshot of a white linen sneaker on a concrete block, hard midday sun, crisp shadow, 85mm",
"aspect_ratio": "1:1",
"resolution": "2k"
}
}),
})).json();
while (task.status === "queued" || task.status === "running") {
await new Promise((r) => setTimeout(r, 3000));
task = await (await fetch(`${API}/tasks/${task.id}`, { headers })).json();
}
console.log(task.status, task.cost, task.output.map((o) => o.url));
Input fields
| Parameter | Type | Allowed | Default |
|---|---|---|---|
prompt * | string | ≤ 4000 chars | |
aspect_ratio | string | 1:1 4:3 3:4 16:9 9:16 3:2 2:3 21:9 auto | 1:1 |
resolution | string | 2k 3k | 2k |
num_images | integer | 1-4 | 1 |
image_urls | array | max 4 |
Fetch this list as JSON with GET /v1/models/seedream-5.0-lite.























