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

# Video Generation API Overview

> Generate videos from text or images with Seedance 2.0, Wan 2.2 and Kling models through a single unified endpoint.

# Video Generation API

The Video Generation API lets you create high-quality videos from a text prompt (text-to-video) or from a reference image (image-to-video) through one unified endpoint:

```
POST /api/v1/videos/generations
```

The request is dispatched by `args.model`. Pass `image_urls` (or the compatible `image_url` field) to run image-to-video; omit images for text-to-video.

## Available Models

| Model               | Best for                                        | Resolution               | Duration      | Native Audio      |
| ------------------- | ----------------------------------------------- | ------------------------ | ------------- | ----------------- |
| `seedance-2-0`      | Highest-quality Seedance output                 | 480p / 720p / 1080p / 4k | 4-15s         | ✅                 |
| `seedance-2-0-fast` | Faster drafts and iteration                     | 480p / 720p              | 4-15s         | ✅                 |
| `seedance-2-0-mini` | Lowest-cost Seedance iteration                  | 480p / 720p              | 4-15s         | ✅                 |
| `wan22_spicy`       | Cost-effective text-to-video and image-to-video | 480p / 720p              | Model default | ❌                 |
| `kling-3-0`         | Highest quality, full feature set               | 720p / 1080p             | 3-15s         | ✅ `sound: on/off` |
| `kling-3-0-turbo`   | Faster generation                               | 720p / 1080p             | 3-15s         | ❌                 |
| `kling-2-5-turbo`   | Cost-effective                                  | 720p / 1080p             | 5s or 10s     | ❌                 |

## Feature Matrix

| Feature                                | wan22\_spicy | kling-3-0 | kling-3-0-turbo | kling-2-5-turbo |
| -------------------------------------- | ------------ | --------- | --------------- | --------------- |
| Text-to-video                          | ✅            | ✅         | ✅               | ✅               |
| Image-to-video (first frame)           | ✅            | ✅         | ✅               | ✅               |
| First & last frame (`image_end_url`)   | ❌            | ✅         | ❌               | ✅               |
| Native audio (`sound`)                 | ❌            | ✅         | ❌               | ❌               |
| Negative prompt                        | ❌            | ✅         | ❌               | ✅               |
| Multi-shot (`model_params.multi_shot`) | ❌            | ✅         | ❌               | ❌               |

## Pricing

All token prices below convert to USD at \*\*$0.02/token** ($10 = 500 tokens).

Seedance is charged in tokens per second of generated video:

| Model               | 480p | 720p  | 1080p | 4k    |
| ------------------- | ---- | ----- | ----- | ----- |
| `seedance-2-0`      | 5.98 | 12.94 | 32.24 | 65.78 |
| `seedance-2-0-fast` | 4.81 | 10.47 | —     | —     |
| `seedance-2-0-mini` | 2.99 | 6.44  | —     | —     |

Synchronized audio is included at no additional charge. `content_filter` does not affect pricing.

Wan 2.2 has a fixed per-task cost:

| Model         | 480p          | 720p           |
| ------------- | ------------- | -------------- |
| `wan22_spicy` | 5 tokens/task | 10 tokens/task |

Kling costs are charged in tokens per second of generated video:

| Model                   | 720p          | 1080p         |
| ----------------------- | ------------- | ------------- |
| `kling-3-0` (sound off) | 4.2 tokens/s  | 5.6 tokens/s  |
| `kling-3-0` (sound on)  | 6.3 tokens/s  | 8.4 tokens/s  |
| `kling-3-0-turbo`       | 5.6 tokens/s  | 7 tokens/s    |
| `kling-2-5-turbo`       | 1.89 tokens/s | 3.15 tokens/s |

Example: a 5-second `kling-2-5-turbo` video at 720p costs 9.45 tokens.

Check your balance with [Get User Tokens](/api-reference/credits/tokens).

## How It Works

1. **Submit a task** — call `POST /api/v1/videos/generations` with your model and prompt
2. **Get the task id** — the response returns an `img_uuid`
3. **Get the result** — poll [Get Job Detail](/api-reference/tasks/detail) with the `img_uuid`, or pass a `custom_callback_url` to receive status notifications automatically

## Example

```bash theme={null}
curl -X POST 'https://api.goenhance.ai/api/v1/videos/generations' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "kling-3-0",
    "prompt": "The cat slowly turns its head and blinks",
    "image_url": "https://your-cdn.com/cat.jpg",
    "duration": 5,
    "resolution": "1080p",
    "sound": "on"
  }'
```

Response:

```json theme={null}
{
  "code": 0,
  "msg": "Success",
  "data": {
    "img_uuid": "c12b656c-747a-44fd-9c80-add79b0c52d5"
  }
}
```

See the per-model pages for the full parameter reference: [Seedance 2.0](/api-reference/video-generations/seedance-2-0), [Seedance 2.0 Fast](/api-reference/video-generations/seedance-2-0-fast), [Seedance 2.0 Mini](/api-reference/video-generations/seedance-2-0-mini), [Wan 2.2](/api-reference/video-generations/wan-2-2), [Kling 3.0](/api-reference/video-generations/kling-3-0), [Kling 3.0 Turbo](/api-reference/video-generations/kling-3-0-turbo), [Kling 2.5 Turbo](/api-reference/video-generations/kling-2-5-turbo).
