Seedance 2.0 Mini Eco sits at the thrifty end of ByteDance's Seedance 2.0 Mini line. Oddly enough it also gives you 1080p, which the standard Mini does not. The catch is patience: each job usually needs an extra 50 to 100 seconds, and the picture can be slightly weaker than on regular Mini. For overnight queues, that is a fair deal.
What you can make
- 1080p clips from the Mini family for catalogs and listings.
- Queued pipelines that render while you sleep and deliver by morning.
- Animated product stills in bulk.
- Reference-driven clips for many catalog items in one run.
Settings that matter
- Length: pick 4 to 15 seconds yourself. Automatic length is not documented for this variant.
- Resolution: 720p or 1080p, no 480p.
- Images: one or two images are animated directly; three or more are treated as references.
- Reference limits: up to 9 images, 3 clips and 3 audio tracks. Start and end frames cannot be mixed with reference clips or audio in one request.
- Sound: generated by default.
- Waiting for results: use a webhook instead of polling every few seconds (webhooks docs).
Starter prompt
Product turntable: a white ceramic vase rotates slowly on a linen cloth, soft shadow, warm studio light, camera fixed at eye levelFor a catalog run, keep the camera and light identical and change only the object and the cloth.
Questions
How much is a Mini Eco clip?
from $0.0789 per second. You get the estimate before the task starts, and nothing is charged if it fails.
What do I lose compared with the standard Mini?
Speed and possibly a bit of quality. In exchange you get 1080p, and audio switches on by default. The standard version is Seedance 2.0 Mini.
Is Mini Eco a good fit for live apps?
Not really. When a user is waiting on screen, the extra minute or more hurts; keep Eco for background work.
Seedance 2.0 Mini Eco in your code
curl https://kadraris.com/v1/generate?wait=60 \
-H "Authorization: Bearer $KADRARIS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance-2.0-mini-eco",
"input": {
"prompt": "Tracking shot of a cyclist riding through an empty city street at dawn, long shadows, light fog, film look",
"aspect_ratio": "adaptive",
"resolution": "720p",
"duration": 5
}
}'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": "seedance-2.0-mini-eco",
"input": {
"prompt": "Tracking shot of a cyclist riding through an empty city street at dawn, long shadows, light fog, film look",
"aspect_ratio": "adaptive",
"resolution": "720p",
"duration": 5
}
}).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": "seedance-2.0-mini-eco",
"input": {
"prompt": "Tracking shot of a cyclist riding through an empty city street at dawn, long shadows, light fog, film look",
"aspect_ratio": "adaptive",
"resolution": "720p",
"duration": 5
}
}),
})).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 | ≤ 20000 chars | |
aspect_ratio | string | 16:9 9:16 1:1 4:3 3:4 21:9 adaptive | adaptive |
resolution | string | 720p 1080p | 720p |
duration | integer | 4-15 | 5 |
generate_audio | boolean | true | |
image_url | string | ||
end_image_url | string | ||
image_urls | array | max 9 | |
video_urls | array | max 3 | |
audio_urls | array | max 3 |
Fetch this list as JSON with GET /v1/models/seedance-2.0-mini-eco.























