# Seedance 2.0 Fast Reference to Video API

> Modh ioma-iomraidh Seedance 2.0 as luaithe agus as saoire, 480p no 720p le fuaim.

Thoir iomradh air suas ri 9 ìomhaighean, 3 bhidiothan agus 3 criomagan fuaime mar @Image1, @Video1, @Audio1 sa prompt agus faigh sealladh 4 gu 15 diogan le fuaim sioncronaichte aig 480p no 720p. Tha feum air co-dhiù aon ìomhaigh no bhidio, agus 12 faidhle aig a’ char as àirde uile gu lèir; feumaidh bhidiothan iomraidh a bhith eadar 2 agus 15 diogan uile gu lèir agus fuaim iomraidh 15 diogan aig a’ char as àirde. Tha bhidiothan iomraidh air am pàigheadh airson an fhaid fhèin cuideachd, agus mar sin cosgaidh criomagan le iomraidhean bhidio barrachd gach diog.

- Model id: `bytedance/seedance-2.0/fast/reference-to-video`
- Made by: ByteDance
- Category: Reference to Video
- Output: video
- Price: from $0.113 / second (4 s ≈ $0.452) (cheapest run $0.452 (452 API credits))
- Run: `POST https://api.doitong.ru/v1/run/bytedance/seedance-2.0/fast/reference-to-video`
- Quote: `POST https://api.doitong.ru/v1/quote/bytedance/seedance-2.0/fast/reference-to-video`
- Docs page: https://doitong.com/gd/developers/models/bytedance/seedance-2.0/fast/reference-to-video

## Pricing

Price: **from $0.113 / second (4 s ≈ $0.452)** (the lowest tier; the quote prices your exact input). Billed per second of output (`duration`, default 15).

Price rules (the first rule that matches the input wins; a parameter you leave out counts as its default):

- When `video_urls` is set and `duration` ≤ 4: by `resolution`, 480p: $0.113, 720p: $0.243 / second
- When `video_urls` is set and `duration` ≤ 5: by `resolution`, 480p: $0.113, 720p: $0.243 / second
- When `video_urls` is set and `duration` ≤ 6: by `resolution`, 480p: $0.113, 720p: $0.243 / second
- When `video_urls` is set and `duration` ≤ 7: by `resolution`, 480p: $0.113, 720p: $0.243 / second
- When `video_urls` is set and `duration` ≤ 8: by `resolution`, 480p: $0.113, 720p: $0.243 / second
- When `video_urls` is set and `duration` ≤ 9: by `resolution`, 480p: $0.113, 720p: $0.243 / second
- When `video_urls` is set and `duration` ≤ 10: by `resolution`, 480p: $0.113, 720p: $0.243 / second
- When `video_urls` is set and `duration` ≤ 11: by `resolution`, 480p: $0.113, 720p: $0.243 / second
- When `video_urls` is set and `duration` ≤ 12: by `resolution`, 480p: $0.113, 720p: $0.243 / second
- When `video_urls` is set and `duration` ≤ 13: by `resolution`, 480p: $0.113, 720p: $0.243 / second
- When `video_urls` is set and `duration` ≤ 14: by `resolution`, 480p: $0.113, 720p: $0.243 / second
- When `video_urls` is set: by `resolution`, 480p: $0.113, 720p: $0.243 / second

The full example input below costs $0.565 = 565 API credits (5 s × 113 API credits).

Prices are the upstream price in USD, paid from the API balance in API credits (1000 API credits = 1 USD). `POST https://api.doitong.ru/v1/quote/bytedance/seedance-2.0/fast/reference-to-video` with the same JSON body returns the exact price for that input; the quote is exactly what a run charges. Invalid input is never charged and failed or canceled requests are refunded automatically.

## Input parameters

Send either the canonical name or the native field name (not both). Canonical names are the same across models.

| Parameter | Canonical name | Type | Required | Default | Allowed values / range | Description |
|---|---|---|---|---|---|---|
| `prompt` |  | string | yes |  |  | Prompt teacsa a stiùireas gineadh bhidio. |
| `image_urls` | `images` | array of image URL | no |  | ≤ 9 items | Iomraidhean ìomhaigh airson stiùireadh bhidio, cuibhrichte gu 9 ìomhaighean agus fo chrìoch 12 fhaidhle thar gach modhalachd. Faodaidh gach ìomhaigh a bhith 30 MB aig a’ char as motha agus feumaidh i JPEG, PNG no WebP a chleachdadh. Cleachd @Image1, @Image2 agus na bileagan àireamhaichte a leanas gus na h-iomraidhean sin a chomharrachadh sa phrompt. |
| `video_urls` | `videos` | array of video URL | no |  | ≤ 3 items | Iomraidhean bhidio airson gineadh, air an solarachadh mar fhaidhlichean MP4 no MOV agus air an comharrachadh sa phrompt le @Video1, @Video2 agus na bileagan àireamhaichte a leanas. Feumaidh dùmhlachd-bhreacaidh gach tè a bhith bho mu 480p (640x640) gu mu 720p (834x1112). Tha an seata cuibhrichte gu 3 bhidio nas lugha na 50 MB uile gu lèir, le fad iomlan eadar 2 agus 15 diog. |
| `audio_urls` | `audios` | array of audio URL | no |  | ≤ 3 items | Feumaidh iomraidhean claisneachd airson stiùireadh bhidio co-dhiù aon iomradh ìomhaigh no bhidio nan cois. Thoir seachad faidhlichean MP3 no WAV de 15 MB aig a’ char as motha gach tè, gun barrachd air 3 faidhle agus le fad iomlan cuibhrichte gu 15 diog. Comharraich iad sa phrompt le @Audio1, @Audio2 agus na bileagan àireamhaichte a leanas. |
| `resolution` |  | enum (string) | no | `720p` | `480p`, `720p` | Dùmhlachd-bhreacaidh às-chur: tha 480p a’ cur astar gineadh an toiseach, agus tha 720p a’ tabhann roghainn chothromach. |
| `duration` |  | enum (string) | no | `auto` | `auto`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `13`, `14`, `15` | Taghadh fad bhidio: tha `auto` a’ fàgail an taghaidh aig a’ mhodail a’ cleachdadh a’ phrompt, agus feumaidh fad shoilleir a bhith eadar 4 agus 15 diog. |
| `aspect_ratio` |  | enum (string) | no | `auto` | `auto`, `21:9`, `16:9`, `4:3`, `1:1`, `3:4`, `9:16` | Co-mheas taobh às-chur: tha 16:9 a’ toirt cruth cruth-tìre, 9:16 cruth dealbhach/inghearach, 1:1 cruth ceàrnagach, agus 21:9 cruth cinematic ultrawide. Tagh `auto` airson ’s gun tagh am modail an co-mheas. |
| `generate_audio` |  | boolean | no | `true` |  | Cuir an comas seo gus claisneachd shioncronaichte a chur leis a’ bhidio. Tha a’ chlaisneachd ghineadh a’ gabhail a-steach cainnt a tha a rèir gluasadan nam bilean, fuaim na h-àrainneachd agus buadhan fuaim. |
| `bitrate_mode` |  | enum (string) | no | `standard` | `standard`, `high` | Tagh bitrate còdachaidh an às-chuir: tha 'standard' a’ cumail a’ bhun-roghainn, agus tha 'high' ag iarraidh air a’ mhodail càileachd còdachaidh a leasachadh aig cosgais faidhle nas motha. |
| `codec` |  | enum (string) | no | `auto` | `auto`, `H264`, `H265` | Taghadh codec bhidio: tha `auto` a’ fàgail giùlan a’ chodec bhun-roghnaichte gun atharrachadh, tha `H264` a’ taghadh H.264, agus tha `H265` a’ taghadh H.265. |

File parameters (`images`, `videos`, `audios`) take a public `https://` URL, a `data:` URI up to 10 MB, or the `file_url` of an upload from `POST /files`.

## Example input

Required parameters only:

```json
{
  "prompt": "@Image1 The white sneaker spins slowly on a wet neon street, puddle splashes in slow motion, punchy beat"
}
```

A fuller example:

```json
{
  "prompt": "@Image1 The white sneaker spins slowly on a wet neon street, puddle splashes in slow motion, punchy beat",
  "images": [
    "https://content.doitong.com/images/showcase/v3/gen_sneaker_ad.jpg"
  ],
  "duration": 5,
  "resolution": "480p"
}
```

## Run it

Set `DOITONG_API_KEY` to a key from https://doitong.com/developers/dashboard#keys. `?wait=20` returns the finished request in the same call when it is ready within 20 seconds; otherwise poll `GET /requests/{id}` (it also accepts `?wait=`), or pass `webhook_url`.

### curl

```bash
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.ru/v1/run/bytedance/seedance-2.0/fast/reference-to-video?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "@Image1 The white sneaker spins slowly on a wet neon street, puddle splashes in slow motion, punchy beat",
    "images": [
      "https://content.doitong.com/images/showcase/v3/gen_sneaker_ad.jpg"
    ],
    "duration": 5,
    "resolution": "480p"
  }'

# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.ru/v1/requests/REQUEST_ID?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY"
```

### JavaScript

```javascript
const API = "https://api.doitong.ru/v1";
const headers = {
  "Authorization": "Bearer " + process.env.DOITONG_API_KEY,
  "Content-Type": "application/json",
};

// Run the model; wait up to 20 s for the finished result in the same call
let res = await fetch(API + "/run/bytedance/seedance-2.0/fast/reference-to-video?wait=20", {
  method: "POST",
  headers,
  body: JSON.stringify({
    "prompt": "@Image1 The white sneaker spins slowly on a wet neon street, puddle splashes in slow motion, punchy beat",
    "images": [
      "https://content.doitong.com/images/showcase/v3/gen_sneaker_ad.jpg"
    ],
    "duration": 5,
    "resolution": "480p"
  }),
});
let request = await res.json();
if (!res.ok) throw new Error(request.error.code + ": " + request.error.message);

// Not finished yet: long-poll until it is
while (request.status === "queued" || request.status === "running") {
  res = await fetch(API + "/requests/" + request.id + "?wait=20", { headers });
  request = await res.json();
}
if (request.status !== "succeeded") throw new Error(JSON.stringify(request.error));
console.log(request.outputs.map((o) => o.url), request.cost.credits + " API credits ($" + request.cost.usd + ")");
```

### Python

```python
import os
import requests

API = "https://api.doitong.ru/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}

payload = {
    "prompt": "@Image1 The white sneaker spins slowly on a wet neon street, puddle splashes in slow motion, punchy beat",
    "images": [
        "https://content.doitong.com/images/showcase/v3/gen_sneaker_ad.jpg",
    ],
    "duration": 5,
    "resolution": "480p",
}

# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/bytedance/seedance-2.0/fast/reference-to-video", params={"wait": 20}, json=payload, headers=headers)
request = r.json()
if not r.ok:
    raise RuntimeError(request["error"]["code"] + ": " + request["error"]["message"])

# Not finished yet: long-poll until it is
while request["status"] in ("queued", "running"):
    request = requests.get(API + "/requests/" + request["id"], params={"wait": 20}, headers=headers).json()
if request["status"] != "succeeded":
    raise RuntimeError(request["error"])
print([o["url"] for o in request["outputs"]], request["cost"]["credits"], "API credits", "$" + request["cost"]["usd"])
```

### MCP

The MCP server at `https://api.doitong.ru/v1/mcp` exposes the tools `search_models`, `get_model`, `quote`, `run`, `get_request`, `cancel_request`, `list_requests`, `create_upload` and `get_account`. A `run` call for this model:

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "run",
    "arguments": {
      "model_id": "bytedance/seedance-2.0/fast/reference-to-video",
      "input": {
        "prompt": "@Image1 The white sneaker spins slowly on a wet neon street, puddle splashes in slow motion, punchy beat",
        "images": [
          "https://content.doitong.com/images/showcase/v3/gen_sneaker_ad.jpg"
        ],
        "duration": 5,
        "resolution": "480p"
      },
      "wait_seconds": 20
    }
  }
}
```

## Response

Every call returns a request object. `status` is one of `queued`, `running`, `succeeded`, `failed`, `canceled`. `outputs` lists the generated files with URLs on our storage (kept forever, or 7 days with `?storage=temporary`; `storage` says which); `output` is the model's own result object with the same URLs.

```json
{
  "id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
  "object": "request",
  "model": "bytedance/seedance-2.0/fast/reference-to-video",
  "status": "succeeded",
  "created_at": "2026-10-20T12:00:00Z",
  "started_at": "2026-10-20T12:00:02Z",
  "completed_at": "2026-10-20T12:00:09Z",
  "queue_position": null,
  "cost": {
    "credits": 565,
    "usd": "0.565",
    "charged": 565,
    "refunded": 0
  },
  "input": {
    "prompt": "@Image1 The white sneaker spins slowly on a wet neon street, puddle splashes in slow motion, punchy beat",
    "images": [
      "https://content.doitong.com/images/showcase/v3/gen_sneaker_ad.jpg"
    ],
    "duration": 5,
    "resolution": "480p"
  },
  "output": {
    "video": {
      "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp4",
      "content_type": "video/mp4",
      "file_name": "0-output.mp4",
      "file_size": 1843200
    },
    "seed": 42
  },
  "outputs": [
    {
      "type": "video",
      "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp4",
      "content_type": "video/mp4",
      "file_size": 1843200,
      "width": 1280,
      "height": 720,
      "duration": 5,
      "stored": true
    }
  ],
  "error": null,
  "metrics": {
    "inference_seconds": 6.8
  },
  "urls": {
    "self": "https://api.doitong.ru/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
    "cancel": "https://api.doitong.ru/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel"
  }
}
```

### Output fields (`output`)

| Field | Type | Description |
|---|---|---|
| `video` | object {url, content_type, file_name, file_size} | Faidhle bhidio a chaidh a chruthachadh le gineadh. |
| `seed` | integer | Luach sìl a chaidh a chur an sàs rè gineadh. |

## Related models

- [Seedance 2.0 Fast Text to Video](https://doitong.com/developers/models/bytedance/seedance-2.0/fast/text-to-video.md) (`bytedance/seedance-2.0/fast/text-to-video`): from $0.113 / second
- [Seedance 2.0 Mini Text to Video](https://doitong.com/developers/models/bytedance/seedance-2.0/mini/text-to-video.md) (`bytedance/seedance-2.0/mini/text-to-video`): from $0.0721 / second
- [Seedance 2.0 Text to Video](https://doitong.com/developers/models/bytedance/seedance-2.0/text-to-video.md) (`bytedance/seedance-2.0/text-to-video`): from $0.141 / second
- [Seedance 2.0 Fast Image to Video](https://doitong.com/developers/models/bytedance/seedance-2.0/fast/image-to-video.md) (`bytedance/seedance-2.0/fast/image-to-video`): from $0.113 / second
- [Seedance 2.0 Image to Video](https://doitong.com/developers/models/bytedance/seedance-2.0/image-to-video.md) (`bytedance/seedance-2.0/image-to-video`): from $0.141 / second
- [Seedance 2.0 Mini Image to Video](https://doitong.com/developers/models/bytedance/seedance-2.0/mini/image-to-video.md) (`bytedance/seedance-2.0/mini/image-to-video`): from $0.0721 / second
- [Seedance 2.0 Mini](https://doitong.com/developers/models/bytedance/seedance-2.0/mini/reference-to-video.md) (`bytedance/seedance-2.0/mini/reference-to-video`): $0.007 / 1000 tokens
- [Seedance 2.0 Reference to Video](https://doitong.com/developers/models/bytedance/seedance-2.0/reference-to-video.md) (`bytedance/seedance-2.0/reference-to-video`): from $0.141 / second

## Links

- HTML page: https://doitong.com/developers/models/bytedance/seedance-2.0/fast/reference-to-video
- All models and guides for AI agents: https://doitong.com/developers/llms.txt
- OpenAPI 3.1 with this model's typed request body: https://doitong.com/developers/openapi.json?model=bytedance/seedance-2.0/fast/reference-to-video
- Errors: https://doitong.com/developers/docs/errors
- Model details as JSON: https://api.doitong.ru/v1/models/bytedance/seedance-2.0/fast/reference-to-video
