Seedance 2.0 Mini API guide
The short answer · Seedance 2.0 Mini uses bytedance/seedance-2.0-mini in MaxAPI's video-generation API. Submit a task, save its identifier, and poll for the final result. Acceptance is not completion. Supported media, duration and resolution depend on this model entry and the selected route.
Integration review ·
Checked against MaxAPI's public catalogue, gateway implementation and local regression cases. Shared gateway checks are not separate end-to-end tests of every listed model. This is an integration reference, not a live upstream availability or performance report.
Before you integrate
Parameters describe MaxAPI's published configuration. A selected route may impose additional input or access requirements.
- Request model ID
bytedance/seedance-2.0-mini- Output type
- Video
- Base URL
https://api.maxapi.dev- Generation workflow
- Asynchronous task + polling
- Quality values
720p / 480p- Resolution & dimensions
- 720p / 480p
- Video duration
- 4–15 seconds for the listed Seedance 2.0 models.
Choose the generation mode before preparing references. Image, video and audio inputs have different roles; use the exact fields and limits in this model's API tab. A submitted task is not a completed video.
Model strengths & selection
Lowest-cost Seedance 2.0 drafts
BytePlus lists Seedance 2.0 Mini as a basic-version model in the 2.x family alongside 2.0 Fast, with text, first-frame, first-and-last-frame and multimodal-reference workflows at 480p or 720p. On MaxAPI it has the lowest per-token rate of the Seedance entries.
Source review ·
Model-specific sources: BytePlus · Seedance 2.x capability comparison
When to compare this model
Compare it for high-volume drafts, prompt exploration and short clips where 720p is enough and cost matters more than the last bit of detail. Re-render accepted shots on Fast or standard 2.0 when the comparison shows a visible difference.
Know the limits
A lower rate is not a promise of identical motion or detail to Fast or 2.0, and Mini is not offered at 1080p or 4K. Compare the same prompt, references, duration and resolution before switching a production workload.
Provider capabilities describe the model, not the complete MaxAPI feature set. Use the parameters, input types and routes documented for this MaxAPI entry. Vendor speed or quality descriptions are not service-level guarantees.
How MaxAPI handles this request
Which route wins?
Routing priority is: the API key's configured route_modes list → an explicitly requested route → the model's default route. A non-empty key list takes precedence over route_mode in the request. To test a specific route, check the key configuration first; changing the request alone may not change the route used.
RPM is shared at account level
An account's positive RPM limit covers its API keys together. A key can impose a stricter limit, but a higher key limit does not override the user limit. For example, a user limit of 200 RPM is not 200 RPM for each key. Service-level RPM and concurrency controls also apply; adding keys is not a way to bypass them.
Routes & pricing
Published routes: official-cheap, official. Specify route_mode in an image/video JSON request; Gemini-native requests use X-MaxAPI-Route-Mode. A route is an access and billing choice, not a different public model ID.
| Route | Published base price | Billing unit |
|---|---|---|
official | $3.5 | 480p / 720p · no reference video · per 1M tokens |
official | $2.1 | 480p / 720p · with reference video · per 1M tokens |
official-cheap | $3.15 | 480p / 720p · no reference video · per 1M tokens |
official-cheap | $1.89 | 480p / 720p · with reference video · per 1M tokens |
1 credit = US$1. These are catalogue base rates, not a live account quote; account multipliers apply. Seedance bills the output tokens the provider reports: tokens ≈ (output seconds + reference-video seconds) × width × height × 24 / 1024, about 21,600 per second at 720p 16:9. The with-reference-video rate applies only when the request includes at least one reference video; reference images, first/last frames and audio bill at the no-reference rate. With a reference video the provider bills at least output seconds + ⌈⅔ × output seconds⌉ (its minimum for video input). A hold is reserved up front — with a reference video it covers up to 15 s of reference video (30 s on Seedance 2.5) — and settled against the reported tokens, refunding the rest; failed tasks are not charged.
Check current pricingYour first request
Create a MaxAPI API key and set MAXAPI_KEY in your server environment; never put it in browser code. A configured key route list takes priority, even if the request specifies a route. Only when that list is empty does the request route apply; otherwise the model default is used. API calls may incur charges.
POST /v1/videos/generationsGET /v1/videos/generations/{task_id}
curl -X POST "https://api.maxapi.dev/v1/videos/generations" \
-H "Authorization: Bearer $MAXAPI_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "bytedance/seedance-2.0-mini",
"prompt": "a calm ocean wave at sunrise, slow camera pan",
"ratio": "16:9",
"duration": 5,
"mode": "text_to_video",
"resolution": "720p"
}'Check your first result
Request-contract review ·
Checked against the public catalogue and gateway code. Examples are structural illustrations, not paid model tests, latency measurements or a guarantee that every route is currently available.
Send the right fields
model / mode- Use bytedance/seedance-2.0-mini with mode=text_to_video for the first example. Do not substitute the Seedance 2.5 Ark payload or a retired beta model ID.
duration / resolution / ratio- The example requests 5 seconds. Listed resolutions: 720p, 480p. Fix duration, resolution and whether a reference video is sent when comparing charges.
HTTP 202 / id / poll_url- A successful submission returns a task receipt, not a video. Save id and poll_url before closing the client; the JSON identifier is id, not task_id.
Read the actual result
status / video- Poll with authentication from the same account. queued/running are not final; on succeeded, read the top-level video URL. On failed/canceled, inspect message instead of assuming a usable file.
estimated_charge_credits- The receipt carries an estimate, not a final invoice. Check final usage and billing records; downloading the returned file is a separate step from task completion.
{
"id": "example-task-id",
"object": "video.generation.task",
"status": "queued",
"model": "bytedance/seedance-2.0-mini",
"poll_url": "/v1/videos/generations/example-task-id"
}# Set TASK_ID to the saved response.id; this queries, it does not create a task.
curl --fail-with-body "https://api.maxapi.dev/v1/videos/generations/${TASK_ID:?Set TASK_ID from response.id}" \
-H "Authorization: Bearer $MAXAPI_KEY"Troubleshoot by symptom, not just HTTP status
429rate_limit_exceeded / capacity_exhausted
- What it tells you
- 429 can represent account/key RPM, service-wide capacity or generation capacity. Use Retry-After and available X-RateLimit-* / X-Global-* headers to distinguish them; one status code does not identify one unique cause.
- What to do next
- Respect Retry-After when present, reduce request rate or active concurrency as appropriate, and use bounded backoff. Do not treat the site's total capacity as your account's personal quota.
What you can build
The use cases and prompts below are our suggested evaluation briefs, not provider benchmarks or tested output samples.

AI-created concept illustrations · not outputs or benchmarks from this model. Prompts below are starting points, not recipes that reproduce these images.
Creative practice · shared production advice
Make a shot list, not a list of effects
For Seedance 2.0 Mini, describe a single subject, a scene and a camera intention before adding motion. A product reveal might start on a material detail and pull back to show the object; a lifestyle shot might keep the camera still while the subject moves. Avoid asking one short clip to contain several unrelated locations, perspectives and actions. A clear shot brief is easier to evaluate and edit into a larger sequence.
The still illustration shows a possible visual direction, not a video result. Turn a chosen direction into a timing brief: what is visible at the start, what changes, and what the last frame should communicate. Review motion continuity, object shape and framing across the whole clip, not just its thumbnail. Use only the reference modes and media fields documented for the selected model.

Prompt examples worth adapting
A good prompt is a small creative brief. Replace the subject and constraints with your actual requirements; keep size, route and quality in the API parameters rather than relying on prose alone.
01 / A five-second paper-boat test
One continuous five-second shot of a small white paper boat drifting across a calm lake at golden hour. The camera follows slowly at water level. Keep the boat's folds and the light consistent, with gentle ripples and no cuts, people or added text.What to review · Set 5 seconds and 720p in the request; check that the boat keeps its shape and the water motion stays smooth.

From a storyboard to a usable clip
Define the acceptance criteria
Choose representative inputs and describe what makes the output usable. Include difficult cases, not only ideal examples. Fix the request parameters while comparing results.
Keep execution separate from presentation
Store request identifiers and preserve the response before transforming it for your interface. Validate errors and incomplete results explicitly. A user-interface timeout should not silently trigger duplicate work.
Measure usable output, not just successful calls
Log the model, route, input characteristics, actual usage and review outcome. Include manual correction and repeated attempts when estimating the cost of delivering a usable result.

From a test to production
Test the route you will actually use
Keep model, route and parameters fixed during your first comparison. Test your own typical inputs as well as large or unusual files. Published model capabilities do not guarantee that every upstream channel accepts every edge case.
Separate limits from generation errors
On 429, reduce request rate or concurrency and back off before retrying. On invalid-input errors, fix the input first. Preserve request and task IDs for troubleshooting; do not log API keys or sensitive reference files in public logs.
Track usable results and actual spend
Use your account's usage and billing records to verify the final result and charge. A successful HTTP response can be a task receipt rather than the final output. For published work, check generated text, visual details and rights to supplied reference material.
Verified integration cases
Checked against MaxAPI's public catalogue, gateway implementation and local regression cases. Shared gateway checks are not separate end-to-end tests of every listed model. This is an integration reference, not a live upstream availability or performance report.
Multiple keys share the user limit
Local regression · passed- Test setup
- Use two keys owned by the same account against an in-memory limiter with a small user quota.
- Observed result
- Requests across the keys consume the same user quota; subsequent requests are limited. A larger key quota does not override the user quota, and a smaller key quota remains effective.
Frequently asked questions
When should I choose this model?
Compare it for high-volume drafts, prompt exploration and short clips where 720p is enough and cost matters more than the last bit of detail. Re-render accepted shots on Fast or standard 2.0 when the comparison shows a visible difference.
What limitations are specific to this entry?
A lower rate is not a promise of identical motion or detail to Fast or 2.0, and Mini is not offered at 1080p or 4K. Compare the same prompt, references, duration and resolution before switching a production workload.
Why does changing route_mode not change my route?
Routing priority is: the API key's configured route_modes list → an explicitly requested route → the model's default route. A non-empty key list takes precedence over route_mode in the request. To test a specific route, check the key configuration first; changing the request alone may not change the route used.
Does each API key get the user's full RPM limit?
An account's positive RPM limit covers its API keys together. A key can impose a stricter limit, but a higher key limit does not override the user limit. For example, a user limit of 200 RPM is not 200 RPM for each key. Service-level RPM and concurrency controls also apply; adding keys is not a way to bypass them.
Do these local regression cases prove live model performance?
Local tests use simulated requests, responses and test storage; they do not call paid model channels. They verify request handling, not model image quality, live success rates, latency or end-to-end support for the maximum reference count. The concept illustrations elsewhere on this page are not these test outputs.
Which model ID should I send for Seedance 2.0 Mini?
Use bytedance/seedance-2.0-mini. Use the exact endpoint format in the example; the Gemini-native URL uses the short model name.
Does a listed price apply to every account and route?
1 credit = US$1. These are catalogue base rates, not a live account quote; account multipliers apply. Seedance bills the output tokens the provider reports: tokens ≈ (output seconds + reference-video seconds) × width × height × 24 / 1024, about 21,600 per second at 720p 16:9. The with-reference-video rate applies only when the request includes at least one reference video; reference images, first/last frames and audio bill at the no-reference rate. With a reference video the provider bills at least output seconds + ⌈⅔ × output seconds⌉ (its minimum for video input). A hold is reserved up front — with a reference video it covers up to 15 s of reference video (30 s on Seedance 2.5) — and settled against the reported tokens, refunding the rest; failed tasks are not charged.
Are failed requests charged?
MaxAPI's published rule is that failed requests are not charged. A request may temporarily reserve balance while it runs; check the final task outcome and billing records rather than treating a temporary balance change as the final charge.
Why is a route unavailable for my API key?
Route availability depends on the model, account permission and the API key's allowed routes. A published price is not an access grant. Check the account and key configuration before changing route_mode.
What should I check before processing the result?
Choose the generation mode before preparing references. Image, video and audio inputs have different roles; use the exact fields and limits in this model's API tab. A submitted task is not a completed video.
Should I immediately retry a failed or timed-out request?
First identify whether the response is a rate limit, invalid input or a still-running task. If you already have a task ID, query its status before submitting another generation. Apply bounded retries with backoff only to retryable errors.