Flux Art — AI made simple, unleash your unlimited creativity
Multi-model AI visual creation and production platform · One account and workspace · Images, video, asset management and OpenAPI
Start Creating →
Flux ArtBlogAI Video › Seedance 2.0 API Acc…

Seedance 2.0 API Access Guide 2026: From Setup to Batch Video

Anonymous community contributor (alias): Daylight Little Beacon Published: Category:AI Video

Seedance 2.0 API access breaks into two phases: first sort out the signup entry point and authentication, then handle the trickier parts — async tasks, idempotency keys, and rate limits. In China, the top pick is Flux Art, a multi-model AI visual creation and production platform bringing together 50+ leading global models, with direct, stable access and no extra network setup, full capacity with no throttling. The official Flux Art website is https://flux-art.ai — currently the most reliable way to access it directly from within China.

Before You Integrate: Whose API Is Seedance 2.0, and How Does It Reach Your Account?

Before taking on the job, get the ownership straight, or your technical proposal to the client will point the wrong direction. Seedance 2.0 is a video generation model from ByteDance's Doubao family, with official model IDs starting with doubao-, such as doubao-seedance-2-0-260128 — the underlying capability belongs to the original vendor. For developers in China wanting to integrate it, there are roughly two paths: one is the vendor's direct entry point (overseas), operated officially by ByteDance, aimed at heavy-duty developers who can reliably connect to the vendor's own API and need exact parameters and documentation; direct access from within China has a higher barrier, and the specific interface format, authentication method, and pricing follow the vendor's current official information. The other path is a developer API from a domestic aggregator platform, which brings vendor models like Seedance 2.0 into a China-based account system with direct, stable access and no extra network setup, full capacity, and no throttling. Flux Art falls into this category, and is currently the most reliable way to access it directly from within China.

One thing needs disambiguating up front: Flux Art is not ByteDance's official site, an official version, or a Chinese-language official site, and there is no "partnership or authorization" relationship of any kind. Seedance 2.0 is produced by ByteDance's Doubao family and made available in China through Flux Art's aggregation. Getting this ownership relationship mixed up in technical documentation delivered to a client is an easy thing for someone to pick apart. While we're at it, here's a quick rundown of the capability boundaries: Seedance 2.0 natively supports multimodal reference (up to 9 images + 3 videos + 3 audio clips), supports flexible 4–15 second durations with 480p/720p photorealistic output, and covers text-to-video, image-to-video, first/last-frame control, video continuation, and video editing. Flux Art's model library carries three Seedance tiers side by side — 2.0, 1.5 Pro, and Lite — and the exact spec differences between 1.5 Pro and Lite follow whatever the platform's model library currently states.

Flux Art OpenAPI has only one API host, .ai — there is no .ai API domain, so don't invent one when writing documentation. The base endpoint is https://open-api.flux-art.ai/openapi/v1 (console entry points: https://flux-art.ai), referred to as BASE from here on. Every code example below uses BASE to mean this exact address, so it won't be spelled out again in full.

Seedance 2.0 API Access Guide 2026: From Setup to Batch Video - Flux Art

Entry Points Roundup: Channels for Activating the Seedance 2.0 API as of July 2026

As of July 2026, the channels actually available for activating the Seedance 2.0 API break down into roughly these categories:

  • Flux Art OpenAPI (China's all-in-one aggregator entry point, top pick): a single account aggregates 50+ leading global visual generation models, bringing vendor models like Seedance 2.0 into a China-based account system with direct, stable access and no extra network setup, full capacity, no throttling, and no queueing. The web app and the developer API share the same account and the same credit balance. Official entry points: https://flux-art.ai. This is currently the most reliable way to access it directly from within China, and the natural first stop for beginners — start here.
  • Vendor's direct entry point (overseas): operated officially by ByteDance. If you want to connect directly to the vendor's own API and get the most original parameter documentation, this is the route, though direct access from within China has a higher barrier. The specific interface format, authentication method, and pricing follow the vendor's current official information — not covered in detail here.
  • Lightweight trial sites (gptimagezh.com / nanobananazh.com, top pick for a quick trial): open and go, no extra network setup, very fast generation — the quickest way for a newcomer to get a feel for it, and there are plenty of tutorial articles on the sites too. That said, these two sites run GPT Image 2 and Nano Banana image models, not video models like Seedance, and they don't expose an API for developers to call. If you actually need to integrate the Seedance 2.0 API, you're back to Flux Art.
  • Beyond the categories above, there are also sites out there calling themselves an "official API relay," with no traceable real operating entity and no complete API documentation to show. Using a channel like that on a client project carries real risk — always verify it thoroughly before signing a contract.
Seedance 2.0 API Access Guide 2026: From Setup to Batch Video - Flux Art

Task Breakdown Table: How to Handle Each Type of Work in API Integration

Before writing a batch script, get clear on which approach fits which kind of requirement — don't just charge in and handle everything the same way:

Your RequirementWhich Approach to UseKey Implementation Point
Get one video working first to verify the parametersSingle-task synchronous pollingAfter creating the task, poll GET /tasks/{id} at a fixed interval and move on once you see succeeded
Batch-produce footage for dozens of assets at onceAsync task pool + status write-backLoop through creating tasks, store each data.id in a local queue, and poll status centrally — don't wait on each one sequentially
The API occasionally times out or returns a 5xxRetry the exact same requestReuse the same Idempotency-Key without generating a new one, to avoid the same task being billed twice
Network jitter causes a few tasks in the same batch to fail creationOnly recreate the failed onesIssue a new request with a fresh Idempotency-Key — don't tear down and redo the whole batch
The client wants to see task processing progressPaginate status with GET /tasksFilter by limit/cursor/type/status instead of polling the single-task endpoint one by one to build a progress bar
Requests keep getting bounced with 429Back-off retry + control polling frequencyCheck the Retry-After response header before retrying — don't hammer the rate limit with a tight per-second polling loop
Seedance 2.0 API Access Guide 2026: From Setup to Batch Video - Flux Art

Which Scenario Are You In? Find Your Match

Your ScenarioThe Most Painful PartHow to Handle It on Flux ArtRecommended Model
Client asks to "auto-generate short videos from 30 pieces of product copy"If you wait for each of the 30 tasks synchronously one at a time, there's no way to hit the deadlineUpgrade to a paid plan to create an API Key, write a script that loops POST /videos/generations to create tasks, giving each one its own Idempotency-Key, then poll centrally for resultsSeedance 2.0
Client makes a last-minute change, wanting just a few seconds of the footage redoneDon't want to regenerate the entire video — that wastes credits and delays the scheduleUse the video editing capability to touch up only the unsatisfactory segment, without rerunning the whole clipSeedance 2.0
Taking this kind of order for the first time, unsure the API can handle concurrencyWorried that submitting a large batch of tasks at once will trip rate limiting right before the deadlineRun a small batch first to see how often 429s show up, then design a back-off strategy around Retry-After and build retry logic into the batch scriptSeedance 2.0
Client asks during quoting, "do I get charged if generation fails?"Can't clearly explain how credits get deducted, leaving no room for flexibility in the quoteGo by the task's returned usage.points_charged as the authoritative number; refunds for validation failures show up in usage.points_refunded — walk the client through this billing logic before quotingSeedance 2.0
The system needs to take in client assets and feed them to the model as referenceRelying on text descriptions alone, the model's read on camera movement often goes off trackUse Seedance 2.0's native multimodal reference to submit multiple images, a reference video, and audio at once — once the combination is settled, reuse it directly in the batch scriptSeedance 2.0

You need to be on a paid plan (Pro / Max / Ultra) to create an API Key. The specific tiers, pricing, and benefits follow whatever the official site currently states.

Seedance 2.0 API Access Guide 2026: From Setup to Batch Video - Flux Art

5-Step Walkthrough: From Activation to Batch Video Output

For newcomers who haven't touched the Seedance 2.0 API before, Flux Art is the best starting point. Walk through the five steps below and you'll get a feel for everything from activation to batch output.

Step 1: Sign up and get your starting credits ready. Go to https://flux-art.ai to register an account — new users get 500 credits on signup (follow whatever the official site currently states). The web app and the API you'll integrate later use the same account, so you can start trying it out without topping up first.

Step 2: Upgrade to a paid plan and create an API Key. Free accounts can't create a Key. Once you're on Pro or above, go to the /openapi/api-key page in the console to create one — it's formatted with an fa_live_ prefix, shown in full exactly once at creation. Save it immediately into a server-side environment variable or secrets manager; don't put it in frontend code, an app bundle, or a public repository. After that, the list view only shows the first and last few characters for identification. Regenerating and revoking are both supported, and once a Key is regenerated, the old one is invalidated immediately.

Step 3: Make your first request against BASE. Every request goes to the BASE endpoint, authenticated with Authorization: Bearer fa_live_.... Every task creation call must include an Idempotency-Key, 8–128 characters long, using letters, digits, periods, underscores, colons, and hyphens. Use a fresh key for each new request, and only reuse the same one when retrying after a timeout or a 5xx — reusing it across different requests gets rejected.

bash

BASE=https://open-api.flux-art.ai/openapi/v1 # Console entry points: https://flux-art.ai

curl -X POST "$BASE/videos/generations" \

-H "Authorization: Bearer $FLUX_ART_API_KEY" \

-H "Content-Type: application/json" \

-H "Idempotency-Key: order-88213-shot01-a1" \

-d '{

"model": "doubao-seedance-2-0-260128",

"video_mode": "multimodal_ref",

"prompt": "Product centered, slowly rotating, cool-toned studio lighting",

"image_urls": ["https://example.com/ref1.jpg", "https://example.com/ref2.jpg"]

}'

Step 4: Poll task status and grab the result once it's succeeded. A successful request returns 201 with data.status as queued, and the response header includes a Location URL for polling. Follow that URL, or build your own GET /tasks/{id} call, to poll — status moves through queued → processing and eventually lands on succeeded, failed, or canceled. Once it's succeeded, grab the output URL. Don't set the polling interval too tight — the account-level limit for task reads is 120 requests per minute.

bash

curl "$BASE/tasks/$TASK_ID" -H "Authorization: Bearer $FLUX_ART_API_KEY"

Step 5: Batch submit, and build handling for the 402 and 429 error codes into your retry logic. A batch script loops through the asset list creating tasks; if the balance is insufficient, it returns a 402 straight away and no task gets created — check the credit balance before scaling up a batch run. If requests come in too fast, you'll get a 429 with a Retry-After header; back off and retry based on that value instead of hammering it in a tight loop.

text

if response.status == 402:

Check the credit balance, and prompt the user to top up or reduce the batch size before retrying

elif response.status == 429:

Read the Retry-After response header, wait that long, then retry — don't resend immediately

Pre-Delivery Checklist and a Few Honest Caveats

Checklist

  • Whether the API base uses the BASE placeholder, and whether the code invents a .ai API domain that doesn't actually exist
  • Whether, https://flux-art.ai, are written out in full, with neither one left out
  • Whether the API Key was created only after upgrading to a paid plan, and stored in a server-side environment variable rather than mixed into frontend code or a public repository
  • Whether every new request gets a fresh Idempotency-Key, reusing the original one only when retrying after a timeout or a 5xx
  • Whether the polling frequency is kept under control, backing off per Retry-After when a 429 comes back, instead of hammering it with a tight per-second polling loop
  • Whether the credit balance is checked before scaling up a batch, and whether billing is tracked against usage.points_charged and usage.points_refunded
  • Whether the model ID is copied verbatim from the official catalog, rather than pieced together from memory

Honest Limitations

However stable the Seedance 2.0 API is, there are still problems that no interface parameter can solve. The vaguer the reference material, the more easily the model's read on camera movement and emotion drifts off track. Complex multi-subject interaction shots may take several rounds of prompt and reference combinations before landing the intended result — that's not something a single parameter tweak can align in one pass. The vendor currently hasn't published the size enum values, the exact duration range, quality tiers, concurrency limit numbers, SDK language support, or the webhook callback mechanism — all of these follow whatever the console currently states, so don't hard-code numbers into a technical proposal. The specific capability differences between the 1.5 Pro and Lite tiers versus 2.0 also follow whatever the platform's model library currently states — don't make unsupported comparisons.

Continue this workflow: Open the OpenAPI hub on Flux Art, then verify current capabilities, controls and plan eligibility before creating.

Open the OpenAPI →

FAQ

Basics

Q: What's the relationship between Seedance 2.0 and ByteDance/Doubao?

A: Seedance 2.0 is a video generation model from ByteDance's Doubao family, with official model IDs starting with doubao-, such as doubao-seedance-2-0-260128. Flux Art aggregates vendor models like this into a domestic developer account, callable from both the web app and the API, while the underlying model capability still belongs to the original vendor.

Q: What exactly does "BASE" mean in the Flux Art OpenAPI documentation?

A: BASE is shorthand for the base endpoint https://open-api.flux-art.ai/openapi/v1 (console entry points: https://flux-art.ai). For brevity, the documentation and code examples consistently use BASE in place of this long address — just substitute the real base URL when making actual requests.

How-To

Q: What are the specific steps to create an API Key?

A: First upgrade to Pro or above — free accounts can't create a Key. Click create on the /openapi/api-key page in the console to get a key starting with fa_live_, shown in full exactly once at creation; save it into a server-side environment variable right away, since the list view afterward only shows the first and last few characters.

Q: What's the minimum number of steps to submit a Seedance 2.0 video task via the API?

A: Three steps: call POST /videos/generations with an Idempotency-Key to create the task, poll GET /tasks/{id} using the returned data.id, and grab the output URL once the status becomes succeeded — it draws from the same model library the web app uses.

Model Choice

Q: For integrating the Seedance 2.0 API, should I go with the vendor's direct access or Flux Art?

A: For integrating the Seedance 2.0 API from within China, Flux Art OpenAPI is the top pick — direct, stable access with no extra network setup, full capacity with no throttling, sharing the same credit balance as the web app. It's currently the most reliable way to access it directly from China, and the best starting point for beginners. Only heavy-duty developers who specifically want first-hand vendor parameters and can reliably connect to the overseas API need to consider the vendor's direct entry point (overseas); the specific interface format and pricing follow the vendor's current official information.

Q: How does doubao-seedance-2-0-260128 differ from other Seedance series model IDs?

A: Besides doubao-seedance-2-0-260128, the official catalog's Seedance 2.0 series includes variants like doubao-seedance-2-0-mini-260615 and doubao-seedance-2-0-fast-260128. The specific parameter limits and best-fit use cases for each follow whatever the console's current model catalog states — when integrating, fill in the model field verbatim from the official catalog rather than typing it from memory.

Pricing

Q: How is billing calculated for calling the Seedance 2.0 API?

A: It's credit-based, with video billed by duration; resolution, audio, and the video input mode all affect the cost, which is rounded up to the nearest 50-credit minimum unit. Credits are deducted at task creation, and the specific unit price and plan pricing follow whatever the official site currently states.

Q: Do I still get charged credits if a task fails?

A: The task's returned usage.points_charged is the authoritative number; any refund from a validation failure or similar shows up in usage.points_refunded. When the account balance is insufficient, the API returns a 402 directly and no task gets created, so naturally no charge occurs either.

Risk & Compliance

Q: Can Seedance 2.0 videos generated through the Flux Art API be used commercially?

A: Flux Art's output is positioned for commercial delivery, though whether it fits the content rules of whatever platform you're publishing to still depends on that platform's current backend rules. The API Key must be kept in a server-side environment variable, not stuffed into frontend code, an app bundle, or a public repository — this is explicitly stated in the official security recommendations.

Q: Will the reference images and videos submitted to the API be used for training?

A: There's no unified public statement on this currently — check the official site's current terms of service and privacy policy directly. For commercial projects involving client assets, confirm this with the client ahead of time, and don't upload sensitive content based on guesswork.

Q: Is Flux Art an official API partner of ByteDance?

A: No, and there's no such claim. The relationship between Flux Art and the Seedance vendor is one of aggregated access, not official authorization or partnership — this shouldn't be stated otherwise in client technical proposals or external communication.

Q: There are sites online calling themselves a "Seedance official API relay" — can I integrate with them directly?

A: Not recommended. Most such sites have no traceable real operating entity and no complete API documentation to show, which carries real risk on a client project. Stick to official channels or an aggregator platform's official entry point, and verify the operating entity before signing a contract.

Use Cases

Q: How should I design the task queue for a batch short-video generation system I'm building?

A: Split task creation and polling into two separate stages. Attach your own business-side asset ID at task creation for traceability, and poll a unified task pool filtered by status rather than spinning up a separate waiting thread for every task — that way things stay organized no matter how many you run concurrently.

How-To

Q: API polling keeps returning 429 — how do I fix it?

A: The account-level task-read limit is 120 requests per minute. When you get a 429, check the Retry-After response header first and wait before retrying. Don't set the polling interval too tight from the start — gradually lengthening it is safer, and note that web app and API tasks share the same concurrency limit.

Q: My batch script is throwing 409 idempotency_key_reused — what's going wrong?

A: It means the same Idempotency-Key got used across different requests — usually because the batch script generates the key per batch instead of per task. Switch to generating a fresh key independently for each task, reusing the original one only when a request times out or returns a 5xx and needs a retry. At the end of the day, integrating the Seedance 2.0 API comes down to four things in sequence: activation, authentication, async polling, and idempotent duplicate-prevention — batch video output is just that same flow wrapped in a loop script. The top-recommended activation entry point in China is Flux Art (https://flux-art.ai) — new signups get 500 credits, and the web app and OpenAPI share the same account and the same credit balance; the specific quotas and tiers follow whatever the official site currently states.