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

# Seedance 2.5 I2V

> Seedance 2.5 I2V video API via FreeModel: image-to-video mode model of Seedance 2.5, billed from prepaid balance.

`seedance-2.5-i2v` is the image-to-video mode model of Seedance 2.5: first frame, or first and last frames; the output follows the image shape.

| Property | Value                                             |
| -------- | ------------------------------------------------- |
| Model ID | `seedance-2.5-i2v`                                |
| Input    | prompt + images                                   |
| Output   | 480p, 720p video with native audio                |
| Duration | 4 to 30 seconds                                   |
| Price    | 480p: \$0.15 per second; 720p: \$0.335 per second |

Confirm live rates on the [models page](https://freemodel.app/models/seedance-2-5).

<ParamField body="model" type="string" required>
  Set to `seedance-2.5-i2v`.
</ParamField>

<ParamField body="prompt" type="string" required>
  Describe the subject, action, camera movement, lighting, and audio intent.
</ParamField>

<ParamField body="seconds" type="string" default="10">
  Output length: 4 to 30 seconds.
</ParamField>

<ParamField body="aspect_ratio" type="string">
  One of `adaptive`. `adaptive` follows the input image or video. Send it explicitly; do not send a pixel `size`.
</ParamField>

<ParamField body="resolution" type="string" default="720p">
  One of `480p`, `720p`. The price depends on the resolution.
</ParamField>

<ParamField body="image_urls" type="string[]" required>
  One to 2 public `http`/`https` image URLs, each up to 30 MB (JPEG, PNG, WEBP, BMP, GIF).
</ParamField>

<ParamField body="generate_audio" type="boolean" default="true">
  Set to `false` for a silent video.
</ParamField>

## Request

```bash theme={null}
curl https://api.freemodel.app/v1/videos \
  -H "Authorization: Bearer $FREEMODEL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedance-2.5-i2v",
    "prompt": "The boat slowly drifts out of frame as mist rises",
    "seconds": "5",
    "aspect_ratio": "adaptive",
    "resolution": "720p",
    "image_urls": ["https://example.com/reference.jpg"]
  }'
```

The response returns a queued task `id`. Poll and download with the same `model`:

```bash theme={null}
curl "https://api.freemodel.app/v1/videos/$VIDEO_ID?model=seedance-2.5-i2v" \
  -H "Authorization: Bearer $FREEMODEL_API_KEY"

curl -L "https://api.freemodel.app/v1/videos/$VIDEO_ID/content?model=seedance-2.5-i2v" \
  -H "Authorization: Bearer $FREEMODEL_API_KEY" \
  --output video.mp4
```

See the [Video API workflow](/api-reference/video-generation) for polling intervals, webhooks, and failure handling.

## Price examples

| Resolution | Per second | 5-second clip |
| ---------- | ---------- | ------------- |
| 480p       | \$0.15     | \$0.75        |
| 720p       | \$0.335    | \$1.675       |

<Note>
  Media inputs must be public `http` or `https` URLs. Private network addresses and
  local files are rejected. Failed generations are not charged.
</Note>
