Seedance AI Video Generator
Describe the shot you want and get a video you can download — right here in the browser, or through the API.
Your key stays in this browser tab and is only sent to the Felo API endpoint.
What Seedance accepts
One request shape across all 4 models. These limits come from the API itself, not from a plan tier — every account gets them.
Resolution and clip length differ by model — the table below lists each one.
Rates are per second of output and follow the model catalog.
Where the models differ
Each model has its own page with the full parameter list, price tiers, and examples.
Open the model pages →| Clip length | 4–30s |
|---|---|
| Resolutions | 480p–4K |
| Aspect ratios | 16:9 · 9:16 · 1:1 · 4:3 · 3:4 · 21:9 · adaptive |
| Input modes | Text to video, first and last frame, reference media |
| Reference images | Up to 9 per request |
| Reference video | Up to 3 per request |
| Reference audio | Up to 3 per request |
| Prompt | Up to 2000 characters |
| Audio | Native soundtrack on every model |
| Models | 4, all on one account |
| Price | From $0.03363 per second |
Start with the video you want
Pick the task first. The model, the resolution and the length are all still there when you need them — you just don't have to learn them before you start.
Make one from a description
Write down the scene, the action and how the camera moves, and get a finished clip back — this is the one the generator above runs.
Make a still move
Give it one still and it moves; give it an opening and a closing frame and it fills the motion between them.
Build on your own material
Use your own images, clips and audio to hold a character, a look or a camera move steady across the whole clip.
Which Seedance model fits
4 models, one account. Higher tiers add resolution and longer clips; lower tiers cut the per-second price.
Seedance 2.5
seedance-2.5
Runs the longest clips, and takes the most reference material to keep a look consistent.
480p · 720p
4–30s
Seedance 2.0
seedance-2.0
The quality-first choice, with detail all the way up to 4K.
480p · 720p · 1080p · 4K
4–15s
Seedance 2.0 Fast
seedance-2.0-fast
A faster, cheaper pass for drafts and variants you expect to redo.
480p · 720p
4–15s
Seedance 2.0 Mini
seedance-2.0-mini
The cheapest way to generate, for trying prompts out at volume.
480p · 720p
4–15s
Which model to pick
Three reasons to pick one model over another. Everything else in the family behaves the same.
Longest single clip
Seedance 2.5 runs one clip out to 30s; the other models stop at 15s.
Highest resolution
Seedance 2.0 is the only model that renders 4K.
Lowest per-second price
Seedance 2.0 Mini starts at $0.03363 per second — and it is the model the generator opens on.
Seedance pricing, per second
Every model bills per second of output, in dollars. This table is the whole price list — there are no credits to convert.
Billing rounds by tokens ((height * width * duration * 24) / 1024), so a run can land slightly above or below per-second times seconds. Rates come from the model catalog and move with it.
See all API pricing →Seedance 2.5
seedance-2.5
| Standard | Per second | Per second (With video input) |
|---|---|---|
| 480p | $0.1028With video input $0.06149 | $0.06149 |
| 720p | $0.2311With video input $0.1382 | $0.1382 |
Seedance 2.0
seedance-2.0
| Standard | Per second | Per second (With video input) |
|---|---|---|
| 480p | $0.06725With video input $0.04131 | $0.04131 |
| 720p | $0.1512With video input $0.09288 | $0.09288 |
| 1080p | $0.3742With video input $0.2284 | $0.2284 |
| 4K | $0.7776With video input $0.4666 | $0.4666 |
Seedance 2.0 Fast
seedance-2.0-fast
| Standard | Per second | Per second (With video input) |
|---|---|---|
| 480p | $0.04035With video input $0.02378 | $0.02378 |
| 720p | $0.09072With video input $0.05346 | $0.05346 |
Seedance 2.0 Mini
seedance-2.0-mini
| Standard | Per second | Per second (With video input) |
|---|---|---|
| 480p | $0.03363With video input $0.02018 | $0.02018 |
| 720p | $0.0756With video input $0.04536 | $0.04536 |
Made with Seedance
Real clips from the public case gallery, each one generated through this API.
did a gameplay video with @filmera_ai
Suitcase Labyrinth
Erased his dragon. So he drew an entire kingdom.
Example Use Case: Animation & Gaming covers animated shorts, game cinematics, character animation and stylised worlds.
ikut campur bgt.
CINEMATIC BLOCKBUSTERS WOULD DROP $15M ON MARKETPLACE BRAWL, THIS ONE COST UNDER $7
Use Seedance in your Agent or your app
The generator above calls the same API you will. Hand the key to your Agent and it makes the calls for you — or call the API yourself from the app you are building. Either way it is the same four steps.
- 01
Create a key
Make a Felo API key in settings. If you are building an app, keep the key on your server, not in the page. The playground above sends yours straight to the API, never through this site.
- 02
Submit the task
POST the model id and your prompt to /api/v1/videos/generations. You get a task id back right away instead of waiting for the render.
curl -X POST "https://openapi.felo.ai/api/v1/videos/generations" \ -H "Authorization: Bearer $FELO_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "seedance-2.0-mini", "prompt": "a cinematic drone shot over a coastal city at sunrise", "resolution": "720p", "duration": 5, "aspect_ratio": "16:9", "generate_audio": true }' - 03
Poll the task
GET /api/v1/videos/generations/{task_id} until the status is no longer running. Signed download links appear when it succeeds.
curl "https://openapi.felo.ai/api/v1/videos/generations/$TASK_ID" \ -H "Authorization: Bearer $FELO_API_KEY" - 04
Download the output
The signed links expire, so fetch the file soon after the task succeeds and store it where your app needs it.
seedance-2.5seedance-2.0seedance-2.0-fastseedance-2.0-miniRequest parameters
promptstring · ≤ 2000 | What the shot should show. Up to 2000 characters, and the only field required besides the model. |
first_frame_urlstring (URL) | Public URL of the image the clip should start from. |
last_frame_urlstring (URL) | Public URL of the image the clip should end on. Used together with first_frame_url. |
reference_image_urlsstring[] · ≤ 9 | Up to 9 public image URLs that hold characters, style, or scene steady. |
reference_video_urlsstring[] · ≤ 3 | Up to 3 public video URLs to carry motion or timing across. |
reference_audio_urlsstring[] · ≤ 3 | Up to 3 public audio URLs to drive pacing or lip sync. |
resolution480p · 720p · 1080p · 4k | Output resolution. Which values a model accepts is listed in the table above. |
durationinteger · 4–30 | Clip length in seconds. The range differs by model — see the table above. |
aspect_ratio16:9 · 9:16 · 1:1 · 4:3 · 3:4 · 21:9 · adaptive | Output framing. adaptive follows the shape of the input image. |
generate_audioboolean | Whether to generate a soundtrack along with the picture. |
Fields with a list of accepted values take only those values; anything else is rejected.
Task states
- queued
- Accepted and waiting for a worker.
- running
- Generation in progress.
- succeeded
- Finished — outputs carries the download links.
- failed
- Generation failed; error says why.
- interrupted
- Stopped before it finished, for example by a cancellation.
Error codes
- 400 invalid_request_error
- The request was rejected: unknown model, mixed input modes, or an invalid field.
- 401 invalid_request_error
- The API key is missing or not valid.
- 402 invalid_request_error
- The balance does not cover this run.
- 403 invalid_request_error
- This account is not permitted to run this model.
- 429 invalid_request_error
- A request or spending limit was reached.
- 502 server_error
- The upstream provider failed. Retrying later usually works.
- 503 server_error
- Generation or billing is temporarily unavailable.
What gets rejected, and what to do instead
The API turns a request away rather than guess at what you meant. These are the ones you will meet first.
A value the model does not accept
Resolution, clip length, and aspect ratio differ by model. 4K is not available on all of them, and an unsupported value comes back as a rejected request — check what that model takes, then re-send.
More reference media than the limit
Up to 9 images, 3 video clips, and 3 audio clips per request. Past that the request is rejected, so trim the list before sending it.
A prompt past 2000 characters
The prompt field is capped by the API. Longer input is rejected rather than trimmed, so cut it down first.
A model id we do not serve
The model field takes one of the 4 ids listed above, and nothing else. Anything else comes back as an unknown model.
Seedance questions, answered
What the models can do, what they cost, and how to use them from an Agent or an app.
What is Seedance?
ByteDance's video generation family. This page carries 4 of its models, from the most capable to the cheapest — one account runs them all.
Which Seedance model should I use?
Reach for the most capable one when you need resolution and longer clips, and the cheapest one when you are iterating. The table above orders them by capability and shows each model's starting price — if you cannot decide, run the default one once.
How much does one Seedance video cost?
You pay per second of output. The cheapest first run is the shortest clip on the default model, about $0.13452. The same clip at a higher resolution costs more, and the price table lists every tier.
Is Seedance free to try?
Video generation is pay-per-use: you top up a balance and each run bills per second of output. The cheapest first run is a short clip on the lowest-cost model, about $0.13452.
What resolutions, durations, and aspect ratios can I use?
Across the family: 480p–4K, clips of 4–30s, aspect ratios 16:9 · 9:16 · 1:1 · 4:3 · 3:4 · 21:9 · adaptive. Which model accepts which is in the table above — the ranges differ by model, not one global limit.
Can I start from an image or a reference video?
Yes. Every model takes a first frame and a last frame, plus public reference media: up to 9 images, 3 videos, and 3 audio clips. The browser playground above runs text to video; the other modes go through the API parameters.
Does Seedance generate audio?
Every model can generate a soundtrack alongside the picture, and the playground exposes it as a parameter.
How do I use Seedance from my Agent or my app?
Create an API key, POST to /api/v1/videos/generations to submit a task, then poll /api/v1/videos/generations/{task_id} until it finishes; signed download links come back on success. An Agent can make those same calls for you once you hand it the key. Keys are managed in settings, and usage and balance are on the pricing page.
What happens when a run fails?
The task ends with status failed and the error field carries the reason — a field the API would not accept, a balance that does not cover the run, or an upstream failure. Correct the request and submit a new task.
How does the generator above differ from the API?
It does not: same endpoint, same parameters, same per-second price. The generator sends your key straight from the browser tab, so you can settle a prompt before you build anything.
Put it in your Agent, or build it into your app
One key covers both. Try a prompt here first, then hand the same key to Claude Code or Codex — or call the API from the video app you are building.