JMovie API

Video generation for business teams

Seedance API, built for your application.

Use fixed model versions, persistent generation tasks and verified token billing. Agree commercial rates and per-Key limits with our team before your first paid request.

ModelTypeKey strengthsInputOutput
Seedance 2.0dreamina-seedance-2-0-260128
Video
High quality, general purpose
Text, image, audio, video
Video
Seedance 2.0 Fastdreamina-seedance-2-0-fast-260128
Video
Faster generation, lower cost
Text, image, audio, video
Video
Seedance 2.0 Minidreamina-seedance-2-0-mini-260615
Video
Lightweight, cost efficient
Text, image, audio, video
Video
Seedance 2.5dreamina-seedance-2-5-260628
Video
Higher fidelity, complex motion
Text, image, audio, video
Video

Updated · JMovie API integration guide

Choose the right integration path

Use this API when your application needs administrator-issued Keys, persistent tasks and an independent USD wallet. Use JMovie’s production workspace when your team needs scripts, scenes, references and shot review. The two products do not share accounts or balances.

From request to usable output

  1. Upload or import authorized references. File validation and required provider library approval are distinct steps; an asset must belong to your API customer.
  2. Create a video task with an Idempotency-Key. Query the persistent task for generation, billing and storage states; a client disconnect does not cancel a submitted task.
  3. Use the actual completion_tokens reported by the provider to settle the locked rate. Missing usage remains pending settlement, not an estimated final charge.
  4. Retrieve private media through an expiring Spaces link. Query the task to refresh the link while the output is retained. API outputs are retained for 72 hours; download them for long-term use.

Seedance 2.5 Draft → Final

Draft is 480p. Converting a selected Draft produces 1080p Final. Draft and Final are two separately billed generations, not a free preview and a single final charge.

Final inherits the original Draft’s input-video pricing facts. The Draft itself is not counted again as input video. Direct generation is a separate path; use the model’s supported resolution and mode.

Official BytePlus Draft workflow

Token billing, not a flat per-second price

Video charge = actual completion_tokens ÷ 1,000,000 × your agreed USD-per-million-token rate. Resolution, input-video facts and Draft/Final mode select the price row. Reservations are released or supplemented after verified usage is known.

Your agreed rate is independent of payment size or funding batches. New tasks lock the model, catalog and customer rate when accepted. This API wallet is separate from the JMovie production workspace.

View current pricing and settlement units

A request you can integrate

Set JMOVIE_API_KEY and a persistent JMOVIE_REQUEST_ID for one business action. Save the returned task ID, then query it. These examples do not automatically repeat the paid POST after a timeout. A provider response loss requires reconciliation; a polling deadline is not a refund or a cancellation.

This example uses Seedance 2.5. Use an exact enabled model ID from the table for another version and check its supported parameters in the API documentation.

curl -X POST https://api.j-movie.com/api/v3/contents/generations/tasks \
  -H "Authorization: Bearer $JMOVIE_API_KEY" \
  -H "Idempotency-Key: $JMOVIE_REQUEST_ID" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "dreamina-seedance-2-5-260628",
    "content": [{"type":"text", "text":"A serene coastal town at sunset"}],
    "duration": 5,
    "resolution": "720p",
    "ratio": "16:9"
  }'

# Save the returned id; polling is read-only. Do not repeat POST on a timeout.
curl https://api.j-movie.com/api/v3/contents/generations/tasks/$TASK_ID \
  -H "Authorization: Bearer $JMOVIE_API_KEY"

Read generation, storage and billing separately

A successful generation is not proof that archival or billing has finished. The native video status stays running while media is being stored; wait for storage_status = ready before using its link. billing_status can remain pending when trusted usage is missing. Preserve the task ID and inspect the task instead of generating a replacement.

This is a request example, not a benchmark or a completed customer generation. Unsupported combinations are rejected before supplier submission. See the documentation for reference limits, Draft inheritance, editing and extension requirements.

Creative scope and provider policies

Provider content policies still apply. We do not promise moderation-free generation, approval of every reference or a bypass of provider restrictions.

Is Seedance API uncensored? Read the policy guide

Prefer a production workspace? Explore JMovie