Генерация видео · prunaai

P-Video-Avatar

prunaai-p-video-avatar

P-Video-Avatar — генерация видео от prunaai, доступная через единый Ranvik API. Поддерживаемые возможности: async, image_to_video, text_to_video.

от 3.3 ₽ / сек

Технические характеристики

МодальностьГенерация видео
Провайдерprunaai
СтатусАктивна
ID для запросовprunaai-p-video-avatar

Возможности

  • Async
  • Видео из изображения
  • Видео по тексту

Цены

ЕдиницаЦена
за секунду · 720p3.3 ₽
за секунду · 1080p13.21 ₽

Цены указаны в рублях. Списываются с баланса проекта при каждом успешном запросе.

Поддерживаемые параметры

Параметры передаются вендору как есть (pure proxy) — мы не валидируем их у себя на стороне. Если вендор не примет — вернётся его ошибка.

ПараметрТипДиапазон / valuesDefaultОписание
positivePromptstring—— Опциональный текстовый промпт описывающий сцену / контекст.
resolutionenum720p, 1080p720p Resolution preset. Aspect ratio автоматически наследуется из inputs.frameImages (портрета).
seedintegermin: 0 · max: 2147483647— Seed для воспроизводимой генерации (32-bit).
inputs.frameImagesrequiredarray of strings or objectsmin: 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[]
ПолеТипЗначенияОписание
imagereqstring— Image input (UUID / URL / Data URI / Base64).
frameenumfirst, 0 Только first / 0.
[
  {
    "image": "https://example.com/portrait.jpg",
    "frame": "first"
  }
]
inputs.audiostring—— Готовая аудио-дорожка с речью (UUID / URL). Взаимоисключаемо с speech.text — выбери ОДИН источник аудио.
примеры значений
Примеры
https://example.com/voice.mp3
speech.textstringmin: 1 · max: 5000— Текст для синтеза речи (TTS). Используется вместо inputs.audio. Требует speech.voice.
примеры значений
Примеры
Привет! Сегодня я расскажу вам про новейший AI-сервис.
speech.voiceenumZephyr (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.languageenumen, 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-INen-US Язык речи. 18 поддерживаемых кодов / локалей.
settings.promptUpsamplingboolean—false Автоматическое расширение/улучшение prompt-а моделью.
settings.safetyFilterboolean—true Включить safety-фильтр на prompt / входные данные.
settings.voicePromptstring—Say the following. Инструкция стиля речи (тон, темп, эмоция). Управляет, как именно аватар будет произносить speech.text.
примеры значений
Примеры
Speak in an enthusiastic, fast-paced narrator tone.
numberResultsintegermin: 1 · max: 41 Сколько вариаций сгенерировать (разные seeds). Каждая считается отдельно.
outputFormatenumMP4, WEBM, MOVMP4 Контейнер для финального видео.
outputQualityintegermin: 20 · max: 9995 Качество компрессии (20–99). Выше — лучше визуально и больше размер файла.
safety.checkContentboolean—false Включить проверку контента на NSFW / запрещёнку. При true default-режим safety.mode становится fast.
safety.modeenumnone, fast, fullnone Режим safety-сканера: none — выключен, fast — проверяет ключевые кадры, full — все кадры (медленнее).
webhookURLstring—— URL для POST-уведомления при готовности задачи. При numberResults > 1 webhook триггерится на каждый результат отдельно.
примеры значений
Примеры
https://yourapp.com/webhooks/runware
uploadEndpointstring—— 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-режима.

ПолеТипЗначенияОписание
idstring— task_id для GET /v1/tasks/{id}.
objectstringvideo.task
statusenumqueued, processing, completed, failed
modelstring—
createdinteger—

Опрос статуса (GET /v1/tasks/{id})

GET /v1/tasks/{id} — опрос статуса.

ПолеТипЗначенияОписание
idstring—
statusenumqueued, processing, completed, failed, canceled
modalitystringvideo
modelstring—
dataarray—
Каждый элемент:
  • url— string · CDN URL .mp4 / .webm / .mov.
errorstring—

Пример запроса

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",
    positivePrompt= "Пример промпта",
    resolution= "720p",
    seed= 1073741824,
    numberResults= 1,
    outputFormat= "MP4",
    outputQuality= 95,
    webhookURL= "https://example.com/...",
    uploadEndpoint= "value",
    inputs= {
        "frameImages": [],
        "audio": "Пример промпта"
    },
    speech= {
        "text": "Пример промпта",
        "voice": "Zephyr (Female)",
        "language": "en-US"
    },
    settings= {
        "promptUpsampling": False,
        "safetyFilter": True,
        "voicePrompt": "Say the following."
    },
    safety= {
        "checkContent": False,
        "mode": "none"
    },
)
print(resp)

Замените rk_live_... на ваш ключ из кабинета.