Felo API PlatformFelo API Platform
Official Seedance 2.5 / 2.0 / Fast / Mini

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.

Estimated cost $0.13452

Your key stays in this browser tab and is only sent to the Felo API endpoint.

Official Seedance API
Up to 4K
Exact cost upfront
No subscription

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 length4–30s
Resolutions480p–4K
Aspect ratios16:9 · 9:16 · 1:1 · 4:3 · 3:4 · 21:9 · adaptive
Input modesText to video, first and last frame, reference media
Reference imagesUp to 9 per request
Reference videoUp to 3 per request
Reference audioUp to 3 per request
PromptUp to 2000 characters
AudioNative soundtrack on every model
Models4, all on one account
PriceFrom $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.

Text → Video

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.

Image → Motion

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.

Reference → Consistency

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.

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

StandardPer second
480p$0.1028With video input $0.06149
720p$0.2311With video input $0.1382

Seedance 2.0

seedance-2.0

StandardPer second
480p$0.06725With video input $0.04131
720p$0.1512With video input $0.09288
1080p$0.3742With video input $0.2284
4K$0.7776With video input $0.4666

Seedance 2.0 Fast

seedance-2.0-fast

StandardPer second
480p$0.04035With video input $0.02378
720p$0.09072With video input $0.05346

Seedance 2.0 Mini

seedance-2.0-mini

StandardPer second
480p$0.03363With video input $0.02018
720p$0.0756With video input $0.04536

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.

  1. 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.

  2. 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
      }'
  3. 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"
  4. 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.

Model IDsseedance-2.5seedance-2.0seedance-2.0-fastseedance-2.0-mini
Open the API reference

Request parameters

prompt

string · ≤ 2000

What the shot should show. Up to 2000 characters, and the only field required besides the model.
first_frame_url

string (URL)

Public URL of the image the clip should start from.
last_frame_url

string (URL)

Public URL of the image the clip should end on. Used together with first_frame_url.
reference_image_urls

string[] · ≤ 9

Up to 9 public image URLs that hold characters, style, or scene steady.
reference_video_urls

string[] · ≤ 3

Up to 3 public video URLs to carry motion or timing across.
reference_audio_urls

string[] · ≤ 3

Up to 3 public audio URLs to drive pacing or lip sync.
resolution

480p · 720p · 1080p · 4k

Output resolution. Which values a model accepts is listed in the table above.
duration

integer · 4–30

Clip length in seconds. The range differs by model — see the table above.
aspect_ratio

16:9 · 9:16 · 1:1 · 4:3 · 3:4 · 21:9 · adaptive

Output framing. adaptive follows the shape of the input image.
generate_audio

boolean

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.