P-Video-Avatar
prunaai-p-video-avatar
P-Video-Avatar — генерация видео от prunaai, доступная через единый Ranvik API. Поддерживаемые возможности: async, image_to_video, text_to_video.
от 7 ₽ / сек
Технические характеристики
prunaai-p-video-avatarВозможности
- Async
- Image-to-video
- Text-to-video
Цены
| Единица | Цена |
|---|---|
| за секунду · 720p | 7 ₽ |
| за секунду · 1080p | 28 ₽ |
Цены указаны в рублях. Списываются с баланса проекта при каждом успешном запросе.
Поддерживаемые параметры
Параметры передаются вендору как есть (pure proxy) — мы не валидируем их у себя на стороне. Если вендор не примет — вернётся его ошибка.
| Параметр | Тип | Диапазон / values | Default | Описание | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
positivePrompt | string | — | — | Опциональный текстовый промпт описывающий сцену / контекст. | ||||||||||||
resolution | enum | 720p, 1080p | 720p | Resolution preset. Aspect ratio автоматически наследуется из inputs.frameImages (портрета). | ||||||||||||
seed | integer | min: 0 · max: 2147483647 | — | Seed для воспроизводимой генерации (32-bit). | ||||||||||||
inputs.frameImagesrequired | array of strings or objects | min: 1 | — | Портрет аватара. Каждый item — либо строка, либо объект {image, frame}. Модель поддерживает только first-frame anchoring. 2 формата вводаFormat 1: string[] Image input — URL / UUID / Data URI / Base64. [ "https://example.com/portrait.jpg" ] Format 2: object[]
[
{
"image": "https://example.com/portrait.jpg",
"frame": "first"
}
] | ||||||||||||
inputs.audio | string | — | — | Готовая аудио-дорожка с речью (UUID / URL). Взаимоисключаемо с speech.text — выбери ОДИН источник аудио. примеры значенийПримеры https://example.com/voice.mp3 | ||||||||||||
speech.text | string | min: 1 · max: 5000 | — | Текст для синтеза речи (TTS). Используется вместо inputs.audio. Требует speech.voice. примеры значенийПримеры Привет! Сегодня я расскажу вам про новейший AI-сервис. | ||||||||||||
speech.voice | enum | Zephyr (Female), Puck (Male), Charon (Male), Kore (Female), Fenrir (Male), Leda (Female), Orus (Male), Aoede (Female), Callirrhoe (Female), Autonoe (Female), Enceladus (Male), Iapetus (Male), Umbriel (Male), Algenib (Male), Despina (Female), Erinome (Female), Laomedeia (Female), Achernar (Female), Algieba (Male), Schedar (Male), Gacrux (Female), Pulcherrima (Female), Achird (Male), Zubenelgenubi (Male), Vindemiatrix (Female), Sadachbia (Male), Sadaltager (Male), Sulafat (Female), Alnilam (Male), Rasalgethi (Male) | Zephyr (Female) | Голос для TTS. 30 предустановленных голосов (15 женских / 15 мужских). | ||||||||||||
speech.language | enum | en, en-US, en-GB, es, es-ES, fr, fr-FR, de, de-DE, it, it-IT, pt-BR, ja, ja-JP, ko, ko-KR, hi, hi-IN | en-US | Язык речи. 18 поддерживаемых кодов / локалей. | ||||||||||||
settings.promptUpsampling | boolean | — | false | Автоматическое расширение/улучшение prompt-а моделью. | ||||||||||||
settings.safetyFilter | boolean | — | true | Включить safety-фильтр на prompt / входные данные. | ||||||||||||
settings.voicePrompt | string | — | Say the following. | Инструкция стиля речи (тон, темп, эмоция). Управляет, как именно аватар будет произносить speech.text. примеры значенийПримеры Speak in an enthusiastic, fast-paced narrator tone. | ||||||||||||
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= "prunaai-p-video-avatar",
"inputs.frameImages": [],
positivePrompt= "Пример промпта",
resolution= "720p",
seed= 1073741824,
"inputs.audio": "Пример промпта",
"speech.text": "Пример промпта",
"speech.voice": "Zephyr (Female)",
"speech.language": "en-US",
"settings.promptUpsampling": False,
"settings.safetyFilter": True,
"settings.voicePrompt": "Say the following.",
numberResults= 1,
outputFormat= "MP4",
outputQuality= 95,
"safety.checkContent": False,
"safety.mode": "none",
webhookURL= "https://example.com/...",
uploadEndpoint= "value",
)
print(resp) Замените rk_live_... на ваш ключ из кабинета.