↓
Rivya AI Docs
Model API guides

Seedance 2.5 API reference

Check Seedance 2.5 availability, inputs, parameters, file requirements, credit pricing, and request examples for Rivya Public API v1. Model ID: seedance-2-5.

Available via APIText or URL ready; reference modes use Files APIVideo
API model ID

seedance-2-5

Inputs

text, file

Files API

Required for reference modes

Credit pricing

Credit rate: 17–158 per second of total video duration (input + output) The final cost is rounded up to whole credits.

Capability

Video

Billing

METERED

Prompt limit

20480 characters

Request fields

Set model at the top level. Put model-specific controls and reference inputs in params, using the format documented for this model.

KeyTypeRequiredDefaultDescription
modelstringYesseedance-2-5Set model to seedance-2-5.
promptstringNo-Maximum 20480 characters for this model.
paramsobjectNo-The model-specific params object. Use the documented keys and reference-file format for this model.
client_request_idstringNo-Optional ID for tracing this request in your system. It does not replace Idempotency-Key.

Model parameters

KeyTypeRequiredDefaultRangeOptionsDescription
seedance_sceneselectNotext-text, frames, referenceChoose text, guide frames, or references before uploading. Each scene accepts a separate set of inputs.
resolutionselectNo720p-480p, 720p, 1080pEach resolution has separate rates for requests with and without video input.
aspect_ratioselectNoadaptive-1:1, 4:3, 3:4, 16:9, 9:16, 21:9, adaptiveAspect ratio
durationnumberNo5min -1 / max 30 / step 1-Choose -1 for automatic duration or a whole number from 4 through 30 seconds. Automatic duration reserves 30 output seconds before the run.
output_formatselectNomp4-mp4, movOutput format
generate_audioselectNotrue-true, falseRequest generated audio with the output clip.
return_last_frameselectNofalse-false, trueRequest the final video frame as a still from the provider. The video result view does not provide a separate still-frame handoff.
web_searchselectNofalse-false, trueAllow the model to use its optional web-search control for this run.
nsfw_checkerselectNotrue-false, trueEnable the model's optional content filter. No automated filter can guarantee complete coverage.

Upload policy

Upload reference files through Files API first. Keep the original URLs, verified metadata, and tokens. Follow this model's request example: some models use params.referenceMediaItems, while others use different fields.

Reference rule

Guide frames or image, video, and audio references: Frames accepts 1 or 2 JPEG/PNG/WebP images up to 30 MB each. Reference accepts up to 30 images, 10 MP4/MOV videos up to 95 MB and 2–30 seconds each, and 10 MP3/WAV audio files up to 15 MB and 2–30 seconds each. Video and audio totals are each capped at 30 seconds, with no more than 50 files overall.

Max files

50

Accepted file kinds

image, video, audio

Duration token

When duration verification is required, use duration_token from /api/v1/files as durationToken in the request. Keep any additional signed metadata this model requires.

kindMax sizeMIME types
image30 MBimage/jpeg, image/png, image/webp
video95 MBvideo/mp4, video/quicktime
audio15 MBaudio/mpeg, audio/wav, audio/x-wav

Minimal request

{
  "model": "seedance-2-5",
  "prompt": "A camera slowly circles a product bottle on a studio table.",
  "params": {
    "seedance_scene": "text",
    "resolution": "720p",
    "aspect_ratio": "adaptive",
    "duration": 5,
    "output_format": "mp4",
    "generate_audio": "true",
    "return_last_frame": "false",
    "web_search": "false",
    "nsfw_checker": "true"
  }
}

Reference-file request

{
  "model": "seedance-2-5",
  "prompt": "A camera slowly circles a product bottle on a studio table.",
  "params": {
    "seedance_scene": "reference",
    "resolution": "720p",
    "aspect_ratio": "adaptive",
    "duration": 5,
    "output_format": "mp4",
    "generate_audio": "true",
    "return_last_frame": "false",
    "web_search": "false",
    "nsfw_checker": "true",
    "referenceMediaItems": [
      {
        "url": "https://cdn.example.com/reference-video.mp4",
        "kind": "video",
        "name": "reference-video.mp4",
        "mimeType": "video/mp4",
        "durationSeconds": 8,
        "durationToken": "video_duration_token_from_files_api",
        "width": 1280,
        "height": 720,
        "sizeBytes": 8388608,
        "framesPerSecond": 30,
        "videoBitrateMbps": 8,
        "videoMetadataToken": "video_metadata_token_from_original_files_api_upload_response"
      }
    ]
  }
}

Example response

An accepted generation request returns a task ID. Poll the status endpoint until the task succeeds or fails. A status request failure does not mean generation failed.

{
  "id": "task_seedance_2_5_example",
  "status": "queued",
  "model": "seedance-2-5",
  "reserved_credits": 315,
  "final_credits": 0,
  "settlement_status": "RESERVED",
  "created_at": "2026-05-11T00:00:00.000Z",
  "updated_at": "2026-05-11T00:00:00.000Z",
  "result": null,
  "error": null
}

Common errors

validation_failed, insufficient_credits, idempotency_conflict, rate_limited, not_found

Some modes require Files API reference uploads.