text-to-video

Seedance 1.5 Pro Text to Video

Seedance 1.5 Pro generates cinematic, live-action–leaning clips from text with strong prompt adherence, expressive motion, and stable aesthetics. It supports 4–12s duration control, multiple aspect ratios, and reproducible generation via seeds.

Use one of our client libraries to get started quickly.

Seedance 1.5 Pro Text to Video

Seedance 1.5 Pro generates cinematic, live-action–leaning clips from text with strong prompt adherence, expressive motion, and stable aesthetics. It supports 4–12s duration control, multiple aspect ratios, and reproducible generation via seeds.. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.

Video output~60-120sfrom $0.29/run

1. Calling the API

Submit a request

Send a POST request to start generation. The API returns immediately with a prediction ID for polling.

curl -X POST "https://api.vibedream.ai/api/v1/models/seedance-1.5-pro-t2v/generate" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $VIBEDREAM_API_KEY" \
  -d '{
    "prompt": "A beautiful sunset over mountains with golden light",
    "duration": 4,
    "resolution": "480p",
    "fixed_camera": false,
    "seed": -1,
    "fps": 24,
    "aspect_ratio": "adaptive"
}'

2. Authentication

The API uses an API Key for authentication.

Get your API Key

Get your API key from vibedream.ai/models/api-keys.

Environment variable

export VIBEDREAM_API_KEY="your-api-key"

3. Queue & Results

Generation requests are queued and processed asynchronously. Poll the prediction endpoint until status is completed or failed.

Submit request

curl -X POST "https://api.vibedream.ai/api/v1/models/seedance-1.5-pro-t2v/generate" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $VIBEDREAM_API_KEY" \
  -d '{
    "prompt": "A beautiful sunset over mountains with golden light",
    "duration": 4,
    "resolution": "480p",
    "fixed_camera": false,
    "seed": -1,
    "fps": 24,
    "aspect_ratio": "adaptive"
}'

Response

Returns immediately with a prediction ID. Use id to poll for results.

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "status": "processing",
  "statusUrl": "https://api.vibedream.ai/api/v1/predictions/550e8400-e29b-41d4-a716-446655440000",
  "estimatedTime": "60-120s",
  "costCents": 29,
  "createdAt": "2025-01-15T12:00:00.000Z"
}

Get the result

Polling

# Replace YOUR_PREDICTION_ID with the id from the submit response
curl "https://api.vibedream.ai/api/v1/predictions/YOUR_PREDICTION_ID" \
  -H "Authorization: Bearer $VIBEDREAM_API_KEY"

# Poll every 1-2s until status is "completed" or "failed"

Completed response

outputs is string[] — an array of direct download URLs hosted on assets.vibedream.ai.

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "modelId": "seedance-1.5-pro-t2v",
  "modelName": "Seedance 1.5 Pro Text to Video",
  "status": "completed",
  "outputs": [
    "https://assets.vibedream.ai/outputs/550e8400-e29b-41d4-a716-446655440000/1736942400000-0.mp4"
  ],
  "error": null,
  "createdAt": "2025-01-15T12:00:00.000Z",
  "completedAt": "2025-01-15T12:00:30.000Z"
}

Failed response

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "modelId": "seedance-1.5-pro-t2v",
  "modelName": "Seedance 1.5 Pro Text to Video",
  "status": "failed",
  "outputs": null,
  "error": "Your request was flagged by content moderation. Please modify your prompt.",
  "createdAt": "2025-01-15T12:00:00.000Z",
  "completedAt": "2025-01-15T12:00:05.000Z"
}
FieldTypeDescription
idstringUnique prediction ID (UUID).
modelIdstringID of the model used for generation.
modelNamestringHuman-readable model name.
statusstringCurrent status. One of: processing, completed, failed.
outputsstring[] | nullArray of output URLs. Each URL is a direct download link to the generated file on assets.vibedream.ai. null when still processing or failed.
errorstring | nullError message if the generation failed. null on success.
createdAtstringISO 8601 timestamp when the request was submitted.
completedAtstring | nullISO 8601 timestamp when generation finished. null while processing.

4. Schema

Input

ParameterTypeRequiredDefaultRangeDescription
promptstringYes----Text description of the scene, style, subject actions, camera motion, and overall mood.
durationnumberNo--4 – 12 (step 1)Integer seconds in [4, 12]. Use -1 for Smart Duration (model decides within [4, 12]).
resolutionstringNo--480p, 720pSelect the video resolution.
fixed_camerabooleanNo----If true, the camera remains fixed; if false, camera motion is driven by the prompt.
seednumberNo---1 – 2147483647 (step 1)Controls randomness; the same seed tends to produce more similar outputs. Set -1 to cancel random seed.
fpsnumberNo--24 – 24 (step 1)Fixed at 24.
aspect_ratiostringNo--adaptive, 16:9, 9:16, 4:3, 3:4, 1:1, 21:9Choose the aspect ratio for the video.

Example request

{
    "prompt": "A beautiful sunset over mountains with golden light",
    "duration": 4,
    "resolution": "480p",
    "fixed_camera": false,
    "seed": -1,
    "fps": 24,
    "aspect_ratio": "adaptive"
}

Output

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "modelId": "seedance-1.5-pro-t2v",
  "modelName": "Seedance 1.5 Pro Text to Video",
  "status": "completed",
  "outputs": [
    "https://assets.vibedream.ai/outputs/550e8400-e29b-41d4-a716-446655440000/1736942400000-0.mp4"
  ],
  "error": null,
  "createdAt": "2025-01-15T12:00:00.000Z",
  "completedAt": "2025-01-15T12:00:30.000Z"
}