# Wan 3.0 Prime — /videos/generations

Асинхронная генерация видео Wan 3.0 (Tongyi Wanxiang) Prime: один эндпоинт, режим определяется параметрами — без материалов это «текст в видео», одно референсное изображение — первый кадр, два — первый и последний кадр, больше — референс по нескольким изображениям, а референсное видео превращает это в редактирование видео. duration — любое целое число секунд в диапазоне 2-30, resolution — 480P / 720P / 1080P (по умолчанию 720P, у каждого уровня своя цена), size — 16:9 / 9:16 / 1:1 / 4:3 / 3:4, а при наличии первого кадра можно передать size=adaptive, чтобы результат повторял соотношение сторон референсного изображения. До 10 референсных изображений, 5 референсных видео и 5 референсных аудиодорожек (для последних двух — не более 15s суммарно). Возвращает job id (HTTP 202); опрашивайте GET /v1/videos/jobs/{id} до status=succeeded, результат — в data[0].url (перезалитый mp4). Оплата — по секундам итоговой длительности ПЛЮС длительность каждого референсного видео; референсные изображения и аудио бесплатны. При ошибке — полный возврат.

**Эндпоинт:** `POST https://nezhagate.com/v1/videos/generations`

## Аутентификация
```
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
```

## Тело запроса
| Параметр | Тип | Обязательный | Описание |
| --- | --- | --- | --- |
| `model` | string | Да | Model ID, here wan3.0-video-prime. |
| `prompt` | string | Да | Text prompt describing the video, camera and motion. Max 5000 bytes (UTF-8; a Chinese character counts as 3). Address the reference material in order as @Image1 / @Video1 / @Audio1, e.g. "the character from @Image1 with the camera move of @Video1"; without tokens the model decides on its own. |
| `duration` | integer | Нет | Length in seconds, any integer 2-30 (default 2); alias seconds. Billed per second. |
| `resolution` | string | Нет | Resolution: 480P / 720P / 1080P (default 720P). Per second: 480P $0.12 / 720P $0.16 / 1080P $0.2. |
| `size` | string | Нет | Aspect ratio: 16:9 / 9:16 / 1:1 / 4:3 / 3:4 (default 16:9); alias aspect_ratio. With a first frame you may pass adaptive and the output follows the reference image’s own aspect. 21:9 is not available. |
| `image` | string | Нет | Изображение в видео: одно референсное изображение по умолчанию используется как первый кадр (публичный URL, data: URI или base64); не указывайте для режима текст в видео. |
| `images` | array | Нет | Multiple reference images, up to 10, free of charge. Two or more are treated as subject / scene references by default. Exceeding the cap is rejected, never truncated; alias reference_images. Note: every person visible in ANY reference is a candidate subject, so a scene reference is best kept free of other people. |
| `image_role` | string | Нет | Как используются референсные изображения: first_frame (второе изображение становится последним кадром) или reference (образцы объекта/сцены). Если параметр не указан: одно изображение по умолчанию трактуется как first_frame, два и более — как reference. При наличии референсного видео параметр reference обязателен. |
| `video_references` | array | Нет | Reference videos, up to 5, 15s in total. Write each as {"url": "...", "duration": 5}; duration is REQUIRED in seconds because reference-video seconds are billed alongside the output. Public http(s) links only; with a reference video, total reference + output must stay within 30s. May be combined with reference images. |
| `audio_reference` | string / array | Нет | Public http(s) URL(s) for reference audio, up to 5, 15s in total, free of charge. Must accompany a reference image or video. |
| `prompt_extend` | boolean | Нет | Официальное переписывание промпта. Если не указано, действует значение вышестоящего провайдера по умолчанию (включено); передайте false, чтобы сохранить тщательно продуманный промпт именно в том виде, как вы его написали. |

## Пример запроса
```bash
# 1) submit -> 202 {"id":"img_...","status":"queued"}
curl https://nezhagate.com/v1/videos/generations -H 'Authorization: Bearer YOUR_API_KEY' -H 'Content-Type: application/json' -d '{"model": "wan3.0-video-prime", "prompt": "a paper crane unfolding over a misty lake", "duration": 5, "resolution": "720P", "size": "16:9"}'
# image-to-video: also pass  "image": "https://example.com/first-frame.png"
# 2) poll every ~15s until status=succeeded, then read data[0].url
curl https://nezhagate.com/v1/videos/jobs/img_3f9a...c2 -H 'Authorization: Bearer YOUR_API_KEY'
```

## Ответ
```json
{
  "id": "img_3f9a...c2",
  "object": "video.generation.job",
  "status": "queued",
  "model": "wan3.0-video-prime"
}
```