> ## Documentation Index
> Fetch the complete documentation index at: https://docs.summerengine.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Seedance 2.5 References

> Seedance 2.5 References on the Summer API: $0.462 per second, MP4 saved to your Summer library. Model id video/seedance-2.5-ref.

Cinematic long takes with sound, from text, a still image or a set of references.

| | |
| - | - |
| Model id | `video/seedance-2.5-ref` |
| Price | \$0.462 per second |
| Does | [References to video](https://docs.summerengine.com/api/models.md#references-to-video) |
| Output | MP4 |
| Made by | ByteDance |
| Try it | [Examples and playground on summerengine.com](https://www.summerengine.com/models/seedance-2-5) |
| Commercial use | Yes |

## Best for

* Hero shots for a trailer with sweeping camera moves.
* Product and item orbits for a store page.
* Building one shot from your concept art and a motion reference.

## Price

**\$0.462 per second**, counted from `duration`. Exact list price: `0.46224 USD`.

At the default `duration` of 5 seconds: \$2.311.

This is the price of a typical request. The exact price depends on the request: ask `POST /v1/estimate` first.

| When | Price |
| - | - |
| `resolution` is `"1080p"` | \$1.146 per second |

No markup: this is the provider's list price, checked 2026-09-26. A failed job costs nothing. Get the exact price of one request, free and without a key, from [`POST /v1/estimate`](https://docs.summerengine.com/api/jobs#know-the-price-first).

## Example call

Sign in once with `summer login`; over HTTP, send `Authorization: Bearer $SUMMER_TOKEN` after `export SUMMER_TOKEN=$(summer token)` ([sign-in](https://docs.summerengine.com/api/sign-in.md)). This job takes minutes. The CLI follows it and saves the file. Over HTTP the call answers `running` with a job id: check `GET /v1/jobs/{id}` until `state` is `done` ([jobs](https://docs.summerengine.com/api/jobs.md)); the [quickstart](https://docs.summerengine.com/api/quickstart.md) has the full loop.

```bash CLI theme={null}
npx -y summer-engine@latest api run video/seedance-2.5-ref \
  --input '{"prompt":"the treasure chest from the reference slowly opens on a mossy forest floor, warm light spills out","referenceImageUrls":["https://docs.summerengine.com/images/api/chest.png"],"duration":5}' \
  --download .
```

```bash curl theme={null}
curl https://www.summerengine.com/v1/jobs \
  -H "Authorization: Bearer $SUMMER_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Prefer: wait=60" \
  -d '{"model":"video/seedance-2.5-ref","input":{"prompt":"the treasure chest from the reference slowly opens on a mossy forest floor, warm light spills out","referenceImageUrls":["https://docs.summerengine.com/images/api/chest.png"],"duration":5}}'
```

```ts TypeScript theme={null}
const res = await fetch("https://www.summerengine.com/v1/jobs", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.SUMMER_TOKEN}`,
    "Content-Type": "application/json",
    "Idempotency-Key": crypto.randomUUID(),
    Prefer: "wait=60",
  },
  body: JSON.stringify({
    "model": "video/seedance-2.5-ref",
    "input": {
      "prompt": "the treasure chest from the reference slowly opens on a mossy forest floor, warm light spills out",
      "referenceImageUrls": [
        "https://docs.summerengine.com/images/api/chest.png"
      ],
      "duration": 5
    }
  }),
});
const { job } = await res.json();
console.log(job.state, job.id);
```

```python Python theme={null}
import os, uuid, requests

res = requests.post(
    "https://www.summerengine.com/v1/jobs",
    headers={
        "Authorization": f"Bearer {os.environ['SUMMER_TOKEN']}",
        "Idempotency-Key": str(uuid.uuid4()),
        "Prefer": "wait=60",
    },
    json={"model": "video/seedance-2.5-ref", "input": {"prompt": "the treasure chest from the reference slowly opens on a mossy forest floor, warm light spills out", "referenceImageUrls": ["https://docs.summerengine.com/images/api/chest.png"], "duration": 5}},
)
job = res.json()["job"]
print(job["state"], job["id"])
```

```js MCP theme={null}
// Summer's MCP server: npx -y summer-engine@latest setup <agent> --yes
summer_api_run({
  model: "video/seedance-2.5-ref",
  input: {
    prompt: "the treasure chest from the reference slowly opens on a mossy forest floor, warm light spills out",
    referenceImageUrls: ["https://docs.summerengine.com/images/api/chest.png"],
    duration: 5
  },
  out: "assets",
})
// It answers `next` while the job runs: follow it to the end.
summer_api_job({ jobId: "<jobId>", wait: true, out: "assets" })
```

The finished job has `state` `"done"` and `result.assets`: one entry per file, each with `assetId`, `fileUrl` (a Summer URL) and `thumbnailUrl`. Download the file into your project, or import it in Summer Engine by its asset id.

## Input

Send these fields in `input`. The full JSON Schema is `inputSchema` in [`GET /v1/models/video/seedance-2.5-ref`](https://docs.summerengine.com/api/reference/get-models-model).

| Field | Type | About |
| - | - | - |
| `prompt` | string | What happens in the clip. up to 4000 characters |
| `referenceImageUrls` | array of string | Reference to video: public images of the characters, props or style to keep (with a reference model, e.g. kling-4-ref). Motion transfer: the character to move. 1 to 10 items |
| `videoUrl` | string | An input clip (public URL, at most 20 s): restyle or reframe it, move a character with its motion, or add sound to it (e.g. kling-video-to-audio). Billed on the clip's length. up to 2048 characters |
| `duration` | integer | Seconds; the model renders its nearest supported length. 1 to 20 Default `5`. |
| `aspectRatio` | `16:9`, `9:16`, `1:1`, `4:3`, `3:4`, `21:9`, `3:2`, `2:3`, `auto` | Default `"16:9"`. |
| `resolution` | `720p`, `1080p`, `4k`, `480p`, `768p`, `2k`, `768P`, `1080P`, `480P` | Only a quality the model offers; leave out for its default. |

## Related models

> **[Kling 3.0 Standard](https://docs.summerengine.com/api/models/video/kling-3.md)**
>
> `video/kling-3`: \$0.14 per second (default)

> **[Gemini Omni Flash](https://docs.summerengine.com/api/models/video/gemini-omni-flash.md)**
>
> `video/gemini-omni-flash`: \$0.125 per second

> **[Kling 3.0 Pro](https://docs.summerengine.com/api/models/video/kling-3-pro.md)**
>
> `video/kling-3-pro`: \$0.168 per second

> **[Seedance 2.0 Fast](https://docs.summerengine.com/api/models/video/seedance-2-fast-ref.md)**
>
> `video/seedance-2-fast-ref`: \$0.242 per second

## For agents

This page as Markdown: [https://docs.summerengine.com/api/models/video/seedance-2-5-ref.md](https://docs.summerengine.com/api/models/video/seedance-2-5-ref.md). The live record with the JSON Schema: `GET https://www.summerengine.com/v1/models/video/seedance-2.5-ref`, public, no sign-in.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.