Генерация видео · pixverse
PixVerse Lipsync
pixverse-lipsync-1
PixVerse Lipsync — генерация видео от pixverse, доступная через единый Ranvik API. Поддерживаемые возможности: async, image_to_video, text_to_video.
от 3.81 ₽ / сек
Технические характеристики
МодальностьГенерация видео
Провайдерpixverse
СтатусАктивна
ID для запросов
pixverse-lipsync-1Возможности
- Async
- Image-to-video
- Text-to-video
Цены
| Единица | Цена |
|---|---|
| за секунду · per second of audio | 3.81 ₽ |
Цены указаны в рублях. Списываются с баланса проекта при каждом успешном запросе.
Поддерживаемые параметры
Параметры передаются вендору как есть (pure proxy) — мы не валидируем их у себя на стороне. Если вендор не примет — вернётся его ошибка.
| Параметр | Тип | Диапазон / values | Default | Описание |
|---|---|---|---|---|
inputs.referenceVideosrequired | array of strings | min: 1 · max: 1 | — | Источник персонажа / лица (UUID / URL). Только 1 элемент. Модель синхронизирует движение губ персонажа с аудио, сохраняя выражение лица. примеры значенийПримеры [ "https://example.com/character.mp4" ] |
inputs.audio | string | — | — | Готовая аудио-дорожка с речью (UUID / URL). Используется в режиме A. Несовместимо с speech.text — выбери ОДИН источник аудио. примеры значенийПримеры https://example.com/dialogue.mp3 |
speech.text | string | max: 200 | — | Текст для синтеза речи (TTS). Лимит 200 символов. Используется в режиме B (вместо inputs.audio). Требует speech.voice. примеры значенийПримеры Hello, welcome to my channel. Today we will explore something amazing. |
speech.voice | enum | Emily, James, Isabella, Liam, Chloe, Adrian, Harper, Ava, Sophia, Julia, Mason, Jack, Oliver, Ethan, auto | auto | Выбор голоса для TTS. 14 предустановленных голосов + auto (модель решит сама). |
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=... |
Параметры ответа
Что возвращает 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= "pixverse-lipsync-1",
"inputs.referenceVideos": [],
"inputs.audio": "Пример промпта",
"speech.text": "Пример промпта",
"speech.voice": "auto",
numberResults= 1,
outputFormat= "MP4",
outputQuality= 95,
"safety.checkContent": False,
"safety.mode": "none",
webhookURL= "https://example.com/...",
uploadEndpoint= "value",
)
print(resp) Замените rk_live_... на ваш ключ из кабинета.