Wan 2.7
wan-27
Wan 2.7 — генерация видео от alibaba, доступная через единый Ranvik API. Поддерживаемые возможности: high_quality, image_to_video, text_to_video.
от 28 ₽ / сек
Технические характеристики
wan-27Возможности
- Высокое качество
- Image-to-video
- Text-to-video
Цены
| Единица | Цена |
|---|---|
| за секунду · 720p | 28 ₽ |
| за секунду · 1080p | 42 ₽ |
Цены указаны в рублях. Списываются с баланса проекта при каждом успешном запросе.
Поддерживаемые параметры
Параметры передаются вендору как есть (pure proxy) — мы не валидируем их у себя на стороне. Если вендор не примет — вернётся его ошибка.
| Параметр | Тип | Диапазон / values | Default | Описание | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
positivePrompt | string | max: 5000 | — | Текстовый промпт описывающий генерируемое видео. ТРЕБУЕТСЯ если нет inputs.frameImages. примеры значенийПримеры Каратист тренируется на пляже на восходе, дрон-съёмка, кинематографическая палитра. | ||||||||||||
negativePrompt | string | max: 500 | — | Что НЕ должно быть в результате. Игнорируется при CFGScale ≤ 1 (если применимо). | ||||||||||||
width | integer | — | — | Ширина в px. Парный к height — только валидные комбинации (см. ниже). Несовместимо с resolution. | ||||||||||||
height | integer | — | — | Высота в px. Парный к width. Список валидных значений — см. combos у width. | ||||||||||||
resolution | enum | 720p, 1080p | 1080p | Resolution preset. Несовместимо с width/height. | ||||||||||||
duration | integer | min: 1 · max: 15 | 5 | Длительность видео в секундах (1..15). При наличии inputs.referenceImages или inputs.referenceVideos — max 10. примеры значенийПримеры 5 10 15 | ||||||||||||
seed | integer | min: 0 · max: 2147483647 | — | Seed для воспроизводимой генерации (32-bit). Если не указан — выбирается случайно. | ||||||||||||
inputs.frameImages | array of strings or objects | min: 1 · max: 2 | — | Image-to-video. Каждый item — либо строка, либо объект {image, frame}. 1 image → first, 2 → first+last. Несовместимо с inputs.referenceImages и inputs.referenceVideos. 2 формата вводаFormat 1: string[] Image input — URL / UUID / Data URI / Base64. [ "https://example.com/first-frame.jpg" ] Format 2: object[]
[
{
"image": "https://example.com/start.jpg",
"frame": "first"
},
{
"image": "https://example.com/end.jpg",
"frame": "last"
}
] | ||||||||||||
inputs.referenceImages | array of strings | min: 1 | — | Reference-изображения (UUID / URL / Data URI / Base64). Несовместимо с inputs.frameImages и inputs.referenceVideos. примеры значенийПримеры [ "https://example.com/style1.jpg", "https://example.com/style2.jpg" ] | ||||||||||||
inputs.referenceVideos | array of strings | min: 1 | — | Reference-видео (UUID / URL). Несовместимо с inputs.frameImages и inputs.referenceImages. примеры значенийПримеры [ "https://example.com/motion-ref.mp4" ] | ||||||||||||
inputs.audio | string | — | — | Аудио-вход для audio-conditioned генерации с автоматическим dubbing (UUID / URL). примеры значенийПримеры https://example.com/dialogue.mp3 | ||||||||||||
settings.audio | boolean | — | true | Генерировать ли native audio синхронизированный с видео. | ||||||||||||
settings.promptEnhancer | boolean | — | true | LLM-based расширение промпта перед генерацией. ВНИМАНИЕ: влияет на воспроизводимость с одним seed. | ||||||||||||
settings.shotType | enum | single, multi | single | single — continuous shot; multi — multi-shot последовательность с переходами. multi ТРЕБУЕТ inputs.referenceImages ИЛИ inputs.referenceVideos. | ||||||||||||
numberResults | integer | min: 1 · max: 4 | 1 | Сколько вариаций сгенерировать (разные seeds). Каждая считается отдельно. | ||||||||||||
outputFormat | enum | MP4, WEBM, MOV | MP4 | Контейнер для финального видео. | ||||||||||||
outputQuality | integer | min: 20 · max: 99 | 95 | Качество компрессии (20–99). Выше — лучше визуально и больше размер файла. | ||||||||||||
safety.checkContent | boolean | — | false | Включить проверку контента на NSFW / запрещёнку. При true default-режим safety.mode становится fast. | ||||||||||||
safety.mode | enum | none, fast, full | none | Режим safety-сканера: none — выключен, fast — проверяет ключевые кадры, full — все кадры (медленнее). | ||||||||||||
webhookURL | string | — | — | URL для POST-уведомления при готовности задачи. При numberResults > 1 webhook триггерится на каждый результат отдельно. примеры значенийПримеры https://yourapp.com/webhooks/runware | ||||||||||||
uploadEndpoint | string | — | — | Presigned URL (S3 / GCS / Azure / HTTP PUT) для автозагрузки готового видео. Сырое binary в body PUT-запроса. примеры значенийПримеры https://bucket.s3.amazonaws.com/result.mp4?X-Amz-Signature=... |
Поддерживаемые размеры
Допустимы только эти комбинации width × height. Произвольные значения вендор отклонит — используй resolution preset либо одну из пар ниже.
1280×720720×1280960×9601088×832832×10881920×10801080×19201440×14401632×12481248×1632Параметры ответа
Что возвращает API. У медиа-моделей формат зависит от режима: sync — сразу результат, async — task_id для опроса через GET /v1/tasks/{id}. Эта модель работает только в async-режиме.
Async (HTTP 202)
HTTP 202. Видео-генерация всегда async — нет sync-режима.
| Поле | Тип | Значения | Описание |
|---|---|---|---|
id | string | — | task_id для GET /v1/tasks/{id}. |
object | string | video.task | |
status | enum | queued, processing, completed, failed | |
model | string | — | |
created | integer | — |
Опрос статуса (GET /v1/tasks/{id})
GET /v1/tasks/{id} — опрос статуса.
| Поле | Тип | Значения | Описание |
|---|---|---|---|
id | string | — | |
status | enum | queued, processing, completed, failed, canceled | |
modality | string | video | |
model | string | — | |
data | array | — | Каждый элемент:
|
error | string | — |
Пример запроса
from openai import OpenAI
client = OpenAI(api_key="rk_live_...", base_url="https://api.ranvik.ru/v1")
resp = client.videos.generate(
model= "wan-27",
positivePrompt= "Пример промпта",
negativePrompt= "Пример промпта",
width= 1,
height= 1,
resolution= "1080p",
duration= 5,
seed= 1073741824,
"inputs.frameImages": [],
"inputs.referenceImages": [],
"inputs.referenceVideos": [],
"inputs.audio": "Пример промпта",
"settings.audio": True,
"settings.promptEnhancer": True,
"settings.shotType": "single",
numberResults= 1,
outputFormat= "MP4",
outputQuality= 95,
"safety.checkContent": False,
"safety.mode": "none",
webhookURL= "https://example.com/...",
uploadEndpoint= "value",
)
print(resp) Замените rk_live_... на ваш ключ из кабинета.