# Seedance 2.5 US Reference to Video API

> Giniúint, eagarthóireacht agus síneadh físeáin thagartha Seedance 2.5 ó suas le 30 íomhá, 10 bhfíseán agus 10 bhfuaim

Athraíonn socrú `task` idir giniúint faoi threoir tagartha, físeán tagartha a chur in eagar agus é a shíneadh. Glacann sé suas le 30 íomhá, 10 bhfíseán agus 10 gcomhad fuaime mar thagairtí, luaite mar @Image1 agus a leithéid. Aschuirtear 480p, 720p nó 1080p, auto nó 4 go 30 soicind, le cóimheasa gné ó 21:9 go 9:16. Tacaíonn sé le `seed` agus `bitrate_mode`.

- Model id: `bytedance/seedance-2.5/us/reference-to-video`
- Made by: ByteDance
- Category: Reference to Video
- Output: video
- Charged by usage (up to $6.944 per run; the rest of the hold is refunded): $0.0107 / 1000 tokens (cheapest run $0.416 (416 API credits))
- Run: `POST https://api.doitong.ru/v1/run/bytedance/seedance-2.5/us/reference-to-video`
- Quote: `POST https://api.doitong.ru/v1/quote/bytedance/seedance-2.5/us/reference-to-video`
- Docs page: https://doitong.com/ga/developers/models/bytedance/seedance-2.5/us/reference-to-video

## Pricing

Price: **$0.0107 / 1000 tokens**. Charged by actual usage at $0.0107 / 1000 tokens: up to $6.944 per run (the quote gives the maximum for your input), the rest is refunded automatically after the run.

The full example input below holds up to $6.944 = 6944 API credits (up to 648.9 × 1000 tokens × $0.0107) when it starts.

Prices are the upstream price in USD, paid from the API balance in API credits (1000 API credits = 1 USD). This model is charged by usage: `POST https://api.doitong.ru/v1/quote/bytedance/seedance-2.5/us/reference-to-video` with the same JSON body returns the most the run can cost for that input (`credits`, debited when the run starts); after the run you pay the usage the model reports and the rest is refunded automatically. An input whose maximum would exceed the per-run limit is refused with 422. 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 \| null | no |  |  | Leid téacs a threoraíonn giniúint físeáin. |
| `task` |  | enum (string) | no | `reference` | `reference`, `editing`, `extension` | Roghnú tasc físeáin le trí iompar: treoraíonn `reference` an ghiniúint trí mheáin sholáthraithe, athraíonn editing físeán tagartha agus leanann extension ceann ar aghaidh. Socraíonn editing agus extension `aspect_ratio` go `auto` go huathoibríoch; socraíonn editing `duration` go `auto` freisin. |
| `image_urls` | `images` | array of image URL | no |  |  | Tagairtí íomhá le haghaidh treorú físeáin, teoranta do 30 íomhá agus faoi réir uasmhéid 50 comhad trasna na módúlachtaí uile. Féadfaidh gach íomhá a bheith 30 MB ar a mhéad agus caithfidh sí JPG, PNG, WebP, BMP, TIFF, GIF, HEIC nó HEIF a úsáid. Úsáid @Image1, @Image2 agus lipéid uimhrithe ina dhiaidh sin chun na tagairtí seo a shainaithint sa leid. |
| `video_urls` | `videos` | array of video URL | no |  |  | Soláthair suas le 10 bhfíseán tagartha mar chomhaid MP4 nó MOV chun giniúint a threorú, agus sainaithin iad sa leid le @Video1, @Video2 agus lipéid uimhrithe ina dhiaidh sin. Ní mór gach comhad a bheith 200 MB ar a mhéad agus maireachtáil 1.8–30.2 soicind, agus gan na gearrthóga go léir le chéile dul thar 30.2 soicind. Is iad na hairíonna riachtanacha 24–60 FPS, cóimheas gnéithe 0.4–2.5 agus 300–6,000 picteilín ar gach taobh. |
| `audio_urls` | `audios` | array of audio URL | no |  |  | Tá teorainn faid chomhiomláin 30.2 soicind ag tagairtí fuaime le haghaidh treorú físeáin trasna 10 gcomhad ar a mhéad. Caithfidh gach ceann MP3 nó WAV a úsáid, maireachtáil 1.8–30.2 soicind agus a bheith 15 MB ar a mhéad. Sainaithin na comhaid sa leid le @Audio1, @Audio2 agus lipéid uimhrithe ina dhiaidh sin. |
| `resolution` |  | enum (string) | no | `720p` | `480p`, `720p`, `1080p` | Taifeach aschuir: tugann 480p tús áite do luas, tairgeann 720p cothromaíocht agus soláthraíonn 1080p ardcháilíocht. |
| `duration` |  | enum (string) | no | `auto` | `auto`, `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` | Roghnú fad an fhíseáin: fágann `auto` an rogha faoin tsamhail agus an leid á úsáid, agus caithfidh ré shainráite a bheith idir 4 agus 30 soicind. |
| `aspect_ratio` |  | enum (string) | no | `auto` | `auto`, `21:9`, `16:9`, `4:3`, `1:1`, `3:4`, `9:16` | Cóimheas gnéithe an aschuir: tugann 16:9 tírdhreach, tugann 9:16 portráid/ingearach, tugann 1:1 cearnóg agus tugann 21:9 ultraleathan cineamatach. Roghnaigh `auto` chun ligean don tsamhail an cóimheas a roghnú. |
| `generate_audio` |  | boolean | no | `true` |  | Cumasaigh é seo chun fuaim shioncronaithe a chur leis an bhfíseán. Áirítear sa bhfuaim ghinte caint a mheaitseálann gluaiseachtaí na liopaí, atmaisféar comhshaoil agus maisíochtaí fuaime. |
| `bitrate_mode` |  | enum (string) | no | `standard` | `standard`, `high` | Roghnaigh giotánráta ionchódaithe an aschuir: coinníonn 'standard' an réamhshocrú, agus iarrann 'high' ar an tsamhail cáilíocht an ionchódaithe a fheabhsú ar chostas comhaid níos mó. |
| `codec` |  | enum (string) | no | `auto` | `auto`, `H264`, `H265` | Roghnú códaitheora físeáin: fágann `auto` iompar réamhshocraithe an chódaigh gan athrú, roghnaíonn `H264` H.264 agus roghnaíonn `H265` H.265. |
| `seed` |  | integer \| null | no |  |  | Síol randamach a úsáidtear chun giniúint a dhéanamh in-atáirgthe, gan athrá cruinn a ráthú: d’fhéadfadh torthaí beagán difriúla teacht as é a athúsáid. |
| `end_user_id` |  | string \| null | no |  |  | Aitheantóir uathúil a shanntar don úsáideoir deiridh. |

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
{}
```

A fuller example:

```json
{
  "prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
}
```

## 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.5/us/reference-to-video?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
  }'

# 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.5/us/reference-to-video?wait=20", {
  method: "POST",
  headers,
  body: JSON.stringify({
    "prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
  }),
});
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": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
}

# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/bytedance/seedance-2.5/us/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.5/us/reference-to-video",
      "input": {
        "prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
      },
      "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.5/us/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": 6944,
    "usd": "6.944",
    "charged": 6944,
    "refunded": 0
  },
  "input": {
    "prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
  },
  "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,
    "draft_id": "string"
  },
  "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} | Comhad físeáin a tháirgtear leis an nginiúint. |
| `seed` | integer | Luach síl a chuirtear i bhfeidhm le linn giniúna. |
| `draft_id` | string \| null | Aitheantóir dréachta le haghaidh críochnaithe faoin gcuntas céanna laistigh de sheacht lá; tá null sa fhreagra ina ionad má tá mód na ndréachtaí díchumasaithe. |

## Related models

- [Seedance 2.5 US Text to Video](https://doitong.com/developers/models/bytedance/seedance-2.5/us/text-to-video.md) (`bytedance/seedance-2.5/us/text-to-video`): $0.0107 / 1000 tokens
- [Seedance 2.5 US Image to Video](https://doitong.com/developers/models/bytedance/seedance-2.5/us/image-to-video.md) (`bytedance/seedance-2.5/us/image-to-video`): $0.0107 / 1000 tokens
- [Seedance 2.0 Fast Reference to Video](https://doitong.com/developers/models/bytedance/seedance-2.0/fast/reference-to-video.md) (`bytedance/seedance-2.0/fast/reference-to-video`): from $0.113 / second
- [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
- [Wan 3.0 Reference to Video](https://doitong.com/developers/models/alibaba/wan-3.0/reference-to-video.md) (`alibaba/wan-3.0/reference-to-video`): from $0.05 / 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 US Reference to Video](https://doitong.com/developers/models/bytedance/seedance-2.0/us/reference-to-video.md) (`bytedance/seedance-2.0/us/reference-to-video`): from $0.0096 / 1000 tokens
- [Alibaba V2.6 · Reference to Video · Flash](https://doitong.com/developers/models/wan/v2.6/reference-to-video/flash.md) (`wan/v2.6/reference-to-video/flash`): from $0.05 / second of output video

## Links

- HTML page: https://doitong.com/developers/models/bytedance/seedance-2.5/us/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.5/us/reference-to-video
- Errors: https://doitong.com/developers/docs/errors
- Model details as JSON: https://api.doitong.ru/v1/models/bytedance/seedance-2.5/us/reference-to-video
