SkyReels V4
skyreels-v4
SkyReels V4 — генерация видео от skywork, доступная через единый Ranvik API. Поддерживаемые возможности: image_to_video, text_to_video.
от 39.2 ₽ / сек
Технические характеристики
skyreels-v4Возможности
- Image-to-video
- Text-to-video
Цены
| Единица | Цена |
|---|---|
| за секунду | 39.2 ₽ |
Цены указаны в рублях. Списываются с баланса проекта при каждом успешном запросе.
Поддерживаемые параметры
Параметры передаются вендору как есть (pure proxy) — мы не валидируем их у себя на стороне. Если вендор не примет — вернётся его ошибка.
| Параметр | Тип | Диапазон / values | Default | Описание | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
positivePromptrequired | string | max: 5120 | — | Текстовый промпт описывающий генерируемое видео. Поддерживает @tags для ссылок на референсы (@actor1, @style, @scene, ...). примеры значенийПримеры @actor1 идёт через @scene под музыку @style, динамичная камера. | ||||||||||||||||||||
width | integer | — | — | Ширина в px. Парный к height — только валидные комбинации (см. ниже). Несовместимо с resolution. | ||||||||||||||||||||
height | integer | — | — | Высота в px. Парный к width. Список валидных значений — см. combos у width. | ||||||||||||||||||||
resolution | enum | 480p, 720p, 1080p | 1080p | Resolution preset. Несовместимо с width/height. | ||||||||||||||||||||
duration | number | min: 3 · max: 15 | 5 | Длительность видео в секундах (3..15). FPS зафиксирован на 32. примеры значенийПримеры 5 10 15 | ||||||||||||||||||||
seed | integer | — | — | Seed для воспроизводимой генерации. Если не указан — выбирается случайно и возвращается в ответе. | ||||||||||||||||||||
inputs.referenceImages | array of objects | min: 1 · max: 3 | — | Группы reference-изображений. Каждый item — объект с type / images / tag (+опционально audio). Тип image: до 3 групп; тип grid: только 1 группа. Все items должны иметь ОДИНАКОВЫЙ type. Несовместимо с inputs.referenceVideos. 1 формата вводаGroup object[]
[
{
"type": "image",
"tag": "@actor1",
"images": [
"https://example.com/face-front.jpg",
"https://example.com/face-side.jpg"
],
"audio": "https://example.com/voice-sample.mp3"
}
] | ||||||||||||||||||||
inputs.frameImages | array of strings or objects | min: 1 · max: 8 | — | Frame-specific image inputs. Каждый item — либо строка, либо объект {image, frame}. 1 image → first, 2 → first+last, 3+ → first, last + evenly spaced. 2 формата вводаFormat 1: string[] Image input — URL / UUID / Data URI / Base64. [ "https://example.com/frame.jpg" ] Format 2: object[]
[
{
"image": "https://example.com/start.jpg",
"frame": "first"
},
{
"image": "https://example.com/mid.jpg",
"frame": 4
},
{
"image": "https://example.com/end.jpg",
"frame": "last"
}
] | ||||||||||||||||||||
inputs.referenceVideos | array of objects | min: 1 · max: 1 | — | Reference-видео для Omni/extend режимов. Только 1 элемент. Несовместимо с inputs.referenceImages. При type=reference — settings.audio отключается (берётся из видео). При type=extend — возвращается только продление, без оригинала. 1 формата вводаVideo reference object[]
[
{
"type": "reference",
"video": "https://example.com/motion-ref.mp4",
"tag": "@motion1"
}
] | ||||||||||||||||||||
inputs.audio | string | — | — | Глобальный voice timbre reference (UUID / URL) до 15с. Альтернативно может задаваться внутри inputs.referenceImages[].audio для конкретной группы. примеры значенийПримеры https://example.com/voice.mp3 | ||||||||||||||||||||
settings.audio | boolean | — | false | Генерировать ли native audio (sound effects). Отключается в режиме reference video (берётся аудио из видео). | ||||||||||||||||||||
settings.promptExtend | boolean | — | true | Автоматическое расширение промпта через LLM перед генерацией. | ||||||||||||||||||||
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 либо одну из пар ниже.
848×480480×848736×560560×736640×6401280×720720×12801088×832832×1088960×9601920×10881088×19201664×12481248×16641440×1440Параметры ответа
Что возвращает 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= "skyreels-v4",
positivePrompt= "Пример промпта",
width= 1,
height= 1,
resolution= "1080p",
duration= 5,
seed= 1,
"inputs.referenceImages": [],
"inputs.frameImages": [],
"inputs.referenceVideos": [],
"inputs.audio": "Пример промпта",
"settings.audio": False,
"settings.promptExtend": True,
numberResults= 1,
outputFormat= "MP4",
outputQuality= 95,
"safety.checkContent": False,
"safety.mode": "none",
webhookURL= "https://example.com/...",
uploadEndpoint= "value",
)
print(resp) Замените rk_live_... на ваш ключ из кабинета.