# Seedance 2.5 Reference-to-Video — Atlas Cloud API

> Multimodal video generation from reference images, videos, and audio. Supports video editing and extension.

This is the machine-readable API reference for **Seedance 2.5 Reference-to-Video** on Atlas Cloud,
a unified API platform for 400+ AI models across text, image, video, audio and 3D.

- **Model ID**: `bytedance/seedance-2.5/reference-to-video`
- **Built by**: ByteDance
- **Modality**: Video
- **Model page**: https://www.atlascloud.ai/models/bytedance/seedance-2.5/reference-to-video
- **API key**: https://www.atlascloud.ai/console/api-keys
- **Docs**: https://www.atlascloud.ai/docs

## Pricing on Atlas Cloud

- $0.134 per second of generated video
- Pay-as-you-go. No minimum spend, no subscription required.

> **These are the authoritative Atlas Cloud rates for this model.** Any price that
> appears in the vendor description further down refers to a different platform or
> a different model variant and does not apply here.

## Use this model from an AI agent

Atlas Cloud ships three first-party integration surfaces. All three authenticate
with the same API key via the `ATLASCLOUD_API_KEY` environment variable.

### MCP server

The official MCP server (`atlascloud-mcp`) exposes this model to any
MCP-compatible host — Claude Code, OpenAI Codex, Cursor, Gemini CLI, Goose,
Claude Desktop. One-line install:

```bash
# Claude Code
claude mcp add atlascloud -- npx -y atlascloud-mcp

# OpenAI Codex CLI
codex mcp add atlascloud -- npx -y atlascloud-mcp

# Gemini CLI
gemini mcp add atlascloud -- npx -y atlascloud-mcp

export ATLASCLOUD_API_KEY="your-api-key"
```

Then ask in plain English; the agent calls `atlas_generate_video` with `model: "bytedance/seedance-2.5/reference-to-video"`.
The server fetches each model's schema and validates parameters before submitting,
so invalid requests fail fast without spending credits.

MCP docs: https://www.atlascloud.ai/docs/mcp-server

### Agent Skills

`atlas-cloud-skills` is a portable skill package (API reference, code templates in
Python / Node.js / cURL, model IDs with pricing) for Claude Code, Cursor, Codex and
12+ other agents:

```bash
npx skills add AtlasCloudAI/atlas-cloud-skills
export ATLASCLOUD_API_KEY="your-api-key"
```

Skills docs: https://www.atlascloud.ai/docs/skills

### CLI

The `atlas` binary runs Atlas Cloud from a terminal or CI script. Async media jobs
are polled and downloaded automatically (use `--no-download` when a script only
needs the output URLs):

```bash
# Install (Homebrew, npm, or shell installer)
brew install AtlasCloudAI/tap/atlascloud
# npm install -g atlascloud-cli
# curl -fsSL https://raw.githubusercontent.com/AtlasCloudAI/cli/main/install.sh | sh

atlas auth login
atlas generate video bytedance/seedance-2.5/reference-to-video -p "Your prompt here"
```

CLI docs: https://www.atlascloud.ai/docs/cli

## HTTP API reference

- **Submit endpoint (POST)**: `https://api.atlascloud.ai/api/v1/model/generateVideo` — start an async generation; returns a `prediction_id`
- **Poll endpoint (GET)**: `https://api.atlascloud.ai/api/v1/model/prediction/{prediction_id}` — poll this until the prediction finishes
- **Model ID**: `bytedance/seedance-2.5/reference-to-video`


## API Information

This model can be used via our HTTP API or more conveniently via our client libraries.
See the input and output schema below, as well as the usage examples.


### Input Schema

The API accepts the following input parameters:

- **`model`** (`string`, _required_):
  Model name.
  - Default: `"bytedance/seedance-2.5/reference-to-video"`

- **`reference_images`** (`array[string]`, _optional_):
  Reference image URLs, Base64, or asset references (asset://<ASSET_ID>). Up to 30 images for character/style/scene references, video editing, or combined generation. Per-image limits: formats jpeg/png/webp/bmp/tiff/gif/heic/heif, aspect ratio (W/H) 0.4-2.5, width/height 300-6000px, size < 30MB. Images containing real human faces cannot be uploaded directly; use model-generated assets, preset digital characters, or authorized real-person assets.
  - Min items: 0
  - Max items: 30

- **`reference_videos`** (`array[string]`, _optional_):
  Reference video URLs or asset references for multimodal reference, video editing, or extension. Up to 10 videos. Per-video limits: formats mp4/mov (H.264/H.265 + AAC/MP3), resolution 480p-4k, duration [2,30]s, aspect ratio (W/H) 0.4-2.5, width/height 300-6000px (W*H between 409,600 and 8,295,044), FPS [24,60], size <= 200MB. The combined duration of all reference videos must not exceed 30s per request. Videos containing real human faces cannot be uploaded directly; use model-generated assets, preset digital characters, or authorized real-person assets.
  - Min items: 0
  - Max items: 10

- **`reference_audios`** (`array[string]`, _optional_):
  Reference audio URLs, Base64, or asset references. Formats: wav/mp3, duration [2,30]s per clip, max 15MB each. Up to 10 audios; combined duration of all reference audios must not exceed 30s per request. Audio-only referencing is supported (unique to Seedance 2.5): a single BGM, voice, or sound-effect track can drive visual pacing, beat matching, and lip-sync.
  - Min items: 0
  - Max items: 10

- **`prompt`** (`string`, _optional_):
  Text prompt describing the desired video. Cite reference inputs in submission order with @-syntax: @Image1, @Video1, @Audio1, etc. Prompts phrased as EDITING an input video (e.g. modifying/continuing @Video1's own scene) switch the model into video-editing mode, which requires duration -1 (output tracks the input video's length; the input clip must be 4-30s).
  - Default: `"The character in image 1 dances gracefully to the music"`

- **`duration`** (`integer`, _optional_):
  Video duration in seconds (4-30), or -1 for the model to choose automatically. Video-EDITING prompts (operating on an input video) accept only -1: the output tracks the input video's length (may be ~0.4s shorter).
  - Default: `5`
  - Options: -1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30

- **`resolution`** (`string`, _optional_):
  Video resolution. Seedance 2.5 currently supports 480p and 720p. At 480p, 16:9 outputs 854×480 and 9:16 outputs 480×854.
  - Default: `"720p"`
  - Options: "480p", "720p"

- **`ratio`** (`string`, _optional_):
  Aspect ratio. 'adaptive' uses the primary media aspect ratio. Explicit ratios apply to reference-to-video generation; video editing and extension force 'adaptive' (the source video's ratio is preserved).
  - Default: `"adaptive"`
  - Options: "16:9", "4:3", "1:1", "3:4", "9:16", "21:9", "adaptive"

- **`output_format`** (`string`, _optional_):
  Output video container format. 'mp4' is the default; 'mov' encodes yuv444p for higher color fidelity, suited to multi-round editing/extension pipelines where recompression loss accumulates.
  - Default: `"mp4"`
  - Options: "mp4", "mov"

- **`generate_audio`** (`boolean`, _optional_):
  Whether to generate synchronized audio.
  - Default: `true`

- **`watermark`** (`boolean`, _optional_):
  Whether to add a watermark.
  - Default: `false`

- **`return_last_frame`** (`boolean`, _optional_):
  Whether to return the last frame as a separate image.
  - Default: `false`



**Required Parameters Example**:

```json
{
  "model": "bytedance/seedance-2.5/reference-to-video"
}
```


**Full Example**:

```json
{
  "model": "bytedance/seedance-2.5/reference-to-video",
  "reference_images": [
    ""
  ],
  "reference_videos": [
    ""
  ],
  "reference_audios": [
    ""
  ],
  "prompt": "The character in image 1 dances gracefully to the music",
  "duration": 5,
  "resolution": "720p",
  "ratio": "adaptive",
  "output_format": "mp4",
  "generate_audio": true,
  "watermark": false,
  "return_last_frame": false
}
```


### Output Schema

The API returns the following output format:


- **`id`** (`string`, _optional_):
  Unique identifier for the prediction.

- **`urls`** (`object`, _optional_):
  Object containing related API endpoints.

- **`model`** (`string`, _optional_):
  Model ID used for the prediction.

- **`status`** (`string`, _optional_):
  Status: processing, completed, failed, or timeout.

- **`outputs`** (`array[string]`, _optional_):
  URLs to generated content (video + optional last frame).

- **`created_at`** (`string`, _optional_):
  ISO timestamp of creation.

- **`completion_tokens`** (`integer`, _optional_):
  Tokens consumed for billing.

- **`total_tokens`** (`integer`, _optional_):
  Total tokens consumed.

- **`has_nsfw_contents`** (`array[boolean]`, _optional_):
  NSFW detection per output.



**Example Response**:

```json
{
  "id": "",
  "urls": {},
  "model": "",
  "status": "",
  "outputs": [
    ""
  ],
  "created_at": "",
  "completion_tokens": 0,
  "total_tokens": 0,
  "has_nsfw_contents": []
}
```


## Usage Examples

### cURL

```bash
# Step 1: Start generation (async)
curl -X POST "https://api.atlascloud.ai/api/v1/model/generateVideo" \
  -H "Authorization: Bearer $ATLASCLOUD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "bytedance/seedance-2.5/reference-to-video",
  "reference_images": [
    ""
  ],
  "reference_videos": [
    ""
  ],
  "reference_audios": [
    ""
  ],
  "prompt": "The character in image 1 dances gracefully to the music",
  "duration": 5,
  "resolution": "720p",
  "ratio": "adaptive",
  "output_format": "mp4",
  "generate_audio": true,
  "watermark": false,
  "return_last_frame": false
}'

# Response will contain: {"code": 200, "data": {"id": "prediction_id", "status": "processing"}}

# Step 2: Poll for result (replace {prediction_id} with the id returned above)
curl -X GET "https://api.atlascloud.ai/api/v1/model/prediction/{prediction_id}" \
  -H "Authorization: Bearer $ATLASCLOUD_API_KEY"

# Keep polling until status is "completed", "succeeded" or "failed"
# When completed, outputs will contain the generated content URL(s)
```

## Additional Resources

### Documentation

- [Model Playground](https://www.atlascloud.ai/models/bytedance/seedance-2.5/reference-to-video)

## About this model

_Vendor-supplied description. Any pricing or endpoint mentioned below refers to_
_other platforms — use the Atlas Cloud values above._

#### 1. Introduction

**Seedance 2.5** is ByteDance's next-generation multimodal video generation model, officially unveiled by Volcano Engine president Tan Dai at the 2026 Volcano Engine FORCE conference in Beijing on June 23, 2026. This README covers the following API model identifiers:

- `bytedance/seedance-2.5/text-to-video`
- `bytedance/seedance-2.5/image-to-video`
- `bytedance/seedance-2.5/reference-to-video`

Succeeding the Seedance 2.0 family, Seedance 2.5 advances generative video along four axes announced at launch: native single-pass generation of clips up to 30 seconds (double the 15-second ceiling of Seedance 2.0, with substantially improved shot-to-shot camera continuity), joint conditioning on up to 50 all-modality reference assets (up from 12), precise consistency-preserving video editing and extension, and native multilingual generation spanning 10+ languages with stronger instruction following. ByteDance positions the 30-second single-pass length and the 50-asset reference capacity as industry firsts. The model completed a global enterprise beta following the announcement, with public availability rolling out through Volcano Engine, BytePlus, and the Dreamina platform in July 2026.

#### 2. Key Features & Innovations

- **30-Second Single-Pass Generation**: Produces a complete video of up to 30 seconds in one native generation pass — no stitching of shorter segments — with markedly improved camera and shot continuity across the full clip. This doubles the Seedance 2.0 family's 15-second output ceiling and enables genuine short-narrative work in a single request.

_(Description truncated. Full text on the model page.)_

---

Atlas Cloud — one API for 400+ AI models. Model page: https://www.atlascloud.ai/models/bytedance/seedance-2.5/reference-to-video · Docs: https://www.atlascloud.ai/docs
