P-Video

ПровайдерPrunaai

prunaai-p-video-0 — генерация видео-модель от Prunaai.

asyncimage_to_videotext_to_video

Попробуйте прямо здесь

Что умеет P-Video

  • Async
  • Image-to-video
  • Text-to-video

Стоимость

за секунду
720p · draft
1.4 ₽
1080p · draft
2.8 ₽
720p
5.6 ₽
1080p
11.2 ₽

Цены указаны в рублях и списываются с баланса проекта за успешные запросы. Надбавки (+) суммируются с базовой ставкой.

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

Vendor
prunaai
Modality
video

Параметры запроса

Параметры, которые принимает модель. Передаются в теле запроса.

ПараметрТипДиапазон / значенияПо умолчаниюОписание
positivePromptreq
string
min: 1 · max: 2000
Текстовый промпт описывающий генерируемое видео.
1 пример
Примеры
Робот собирает розы в саду под дождём, slow-motion, мягкий свет.
width
integer
Ширина в px. Парный к height — только валидные комбинации (см. ниже). Несовместимо с resolution.
height
integer
Высота в px. Парный к width. Список валидных значений — см. combos у width.
resolution
enum
720p, 1080p
Resolution preset. Несовместимо с width/height.
duration
integer
min: 1 · max: 10
5
Длительность видео в секундах (1..10). НЕЛЬЗЯ использовать вместе с inputs.audio (длительность диктует аудио).
3 примеров
Примеры
5
8
10
fps
enum
24, 48
24
Frames per second. Только 24 или 48.
seed
integer
min: 0 · max: 9223372036854776000
Seed для воспроизводимой генерации (64-bit). Если не указан — выбирается случайно и возвращается в ответе.
inputs.frameImages
array of strings or objects
min: 1 · max: 2
Image-to-video. Каждый item — либо строка, либо объект {image, frame}. 1 image → first, 2 → first+last.
2 формата ввода
Format 1: string[]

Image input — URL / UUID / Data URI / Base64.

[
  "https://example.com/first-frame.jpg"
]
Format 2: object[]
ПолеТипЗначенияОписание
imagereqstringImage input (UUID / URL / Data URI / Base64).
frameenumfirst, last, 0, -1Target frame position: first / last — крайние, 0 — first index, -1 — last index.
[
  {
    "image": "https://example.com/start.jpg",
    "frame": "first"
  },
  {
    "image": "https://example.com/end.jpg",
    "frame": "last"
  }
]
inputs.audio
string
Audio-to-video: аудио-вход (UUID / URL). Длительность аудио задаёт длительность видео. НЕЛЬЗЯ использовать с параметром duration.
1 пример
Примеры
https://example.com/dialogue.wav
settings.audio
boolean
true
Генерировать ли native audio на выходе.
settings.draft
boolean
false
Draft-режим: дешевле в ~4 раза, ниже качество (для итерации). 720p draft $0.005/s vs $0.02/s.
settings.promptUpsampling
boolean
true
Автоматическое расширение/улучшение prompt-а моделью.
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 триггерится на каждый результат отдельно.
1 пример
Примеры
https://yourapp.com/webhooks/runware
uploadEndpoint
string
Presigned URL (S3 / GCS / Azure / HTTP PUT) для автозагрузки готового видео. Сырое binary в body PUT-запроса.
1 пример
Примеры
https://bucket.s3.amazonaws.com/result.mp4?X-Amz-Signature=...

Поддерживаемые размеры

Допустимы только эти комбинации width × height. Произвольные значения вендор отклонит — используй resolution preset либо одну из пар ниже.

720p (16:9)
1280×720
720p (9:16)
720×1280
720p (4:3)
960×720
720p (3:4)
720×960
720p (3:2)
1080×720
720p (2:3)
720×1080
720p (1:1)
720×720
1080p (16:9)
1920×1080
1080p (9:16)
1080×1920
1080p (4:3)
1440×1080
1080p (3:4)
1080×1440
1080p (3:2)
1620×1080
1080p (2:3)
1080×1620
1080p (1:1)
1080×1080

Параметры ответа

Что возвращает 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
Каждый элемент:
  • url— string · CDN URL .mp4 / .webm / .mov.
error
string

Пример кода

prunaai-p-video-0_example.py
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-0",
    positivePrompt= "Пример промпта",
    width= 1,
    height= 1,
    resolution= "720p",
    duration= 5,
    fps= 24,
    seed= 4611686018427388000,
    "inputs.frameImages": [],
    "inputs.audio": "Пример промпта",
    "settings.audio": True,
    "settings.draft": False,
    "settings.promptUpsampling": True,
    numberResults= 1,
    outputFormat= "MP4",
    outputQuality= 95,
    "safety.checkContent": False,
    "safety.mode": "none",
    webhookURL= "https://example.com/...",
    uploadEndpoint= "value",
)
print(resp)
Полная документация модели