People search โSeedance 2.0 APIโ when the browser UI stops being enough: batch hooks, CI creative, or a thin wrapper around image-to-video. Fair. The trap is jumping to automation before the still + prompt recipe works.
I used Seedance 2.0 on NanoBananaTool as the source of truth for behavior, then mapped what an API consumer actually needs: auth mindset, credit/limit awareness, and a minimal request shape you can adapt to whatever endpoint your account exposes.
In this article
- TL;DR for API builders
- Browser first, API second
- Auth and credits
- Minimal image-to-video request
- Limits and failure handling
- FAQ
TL;DR for API builders
| Step | Do this |
|---|---|
| 1 | Prove one clip in the browser UI |
| 2 | Lock still URL + camera/subject prompt |
| 3 | Automate only after 2โ3 manual wins |
| 4 | Treat credits/rate limits as first-class errors |
| 5 | Log input still hash + prompt + output URL |
Generate in UI, then automate
If you cannot get a clean hook by hand, an API will only scale the mess.
Open Seedance 2.0 ยท Pricing / credits
Browser first, API second
Automating Seedance before you understand:
- still quality requirements
- one-variable iteration
- first/last-frame pitfalls
โฆjust burns credits faster. Use the tutorial and prompt pack until a human would ship the clip.
Auth and credits
Exact header names and routes depend on your NanoBananaTool API access tier. Conceptually you need:
- API key / session credential from your account settings (never ship keys to the browser).
- Credit awareness โ a 402/insufficient-credit style failure should pause the queue.
- Idempotency โ donโt double-charge on retries; store a client request id.
Check /pricing and your dashboard for the live credit costs per Seedance variant (2.0 / Fast / 2.5).
Minimal image-to-video request
Think in this payload shape (adapt field names to the live API docs for your account):
{
"model": "seedance-2.0",
"mode": "image-to-video",
"image_url": "https://file.example/product-hero.png",
"prompt": "Camera: slow push-in\nSubject: tiny specular shift, product stable\nKeep identity consistent with the image.",
"duration_seconds": 5,
"aspect_ratio": "9:16"
}
Optional when supported:
{
"first_frame_url": "https://file.example/start.png",
"last_frame_url": "https://file.example/end.png"
}
Rules that save money
- Host stills on a stable CDN (your own R2/CDN is fine).
- Keep prompts short; separate camera vs subject lines.
- Start with short duration.
- Poll/async: donโt block HTTP workers on full render time.
Limits and failure handling
| Failure | Handle by |
|---|---|
| Insufficient credits | Stop queue; alert; link to /pricing |
| Bad still / 4xx on image URL | Validate URL + content-type before enqueue |
| Timeout | Retry with backoff; donโt immediately re-bill blindly |
| Identity morph | Reject last-frame mismatch; fix inputs |
| Rate limit | Respect Retry-After; shard workers |
Final verdict
A Seedance 2.0 API is only as good as your still discipline. Automate the browser workflow that already works โ not a wish.
When you are ready: prove clips on Seedance 2.0, then wrap the same inputs in your backend with credit-safe retries.
FAQ
Does NanoBananaTool expose a Seedance 2.0 API?
API availability depends on your account/plan. Start from the product UI and your API settings; donโt assume every UI feature is callable on day one.
What is the smallest useful automation?
One still URL + one prompt + short duration + result webhook/poll. Everything else is optimization.
Can I send base64 images?
Prefer CDN URLs for reliability and logs. If base64 is supported, keep payloads small.
Should I call Seedance 2.5 from the API instead?
Only when you have a concrete 2.5 need. For most hooks, automate 2.0 first โ it matches current search and production habits.
