prunaai
P-Video 2 Image-to-Video
Быстрая генерация видео из изображения длительностью от 1 до 20 секунд, с разрешением 720p и 1080p и опциональным звуком.
≈15,00 ₽за видео
5 секунд720p
pruna-ai/p-video-2/image-to-videoДанные каталога получены .
Цена
- Генерация видео
- 15,00 ₽ за видеоПример расчёта: Начальное значение: -1, Черновой режим: Нет, Длительность: 5 секунд, Разрешение: 720p, Сохранять звук: Да, текст до 100 символов, исходные файлы: изображение. Точная цена появится в студии перед запуском.
Цена указана в рублях для выбранной операции и её параметров.
Перед оплачиваемым запросом создаётся резерв. Итоговый расход привязан к сохранённым параметрам и тарифу запроса. При неизвестном результате резерв удерживается до проверки; такой запрос не следует повторять с новым идентификатором.
О модели
Быстрая генерация видео из изображения длительностью от 1 до 20 секунд, с разрешением 720p и 1080p и опциональным звуком.
Характеристики
- Тип модели
- Видео
- Вход модели
- Изображения
Данные, которые модель принимает вместе с запросом.
- Выход модели
- Видео
Форматы результата, которые создаёт модель.
- Операции
- Генерация видео
- Возможности модели
- Видео по изображению
Настройки
По умолчаниюНет
Быстрый предварительный просмотр с меньшими затратамиПо умолчаниюДа
Улучшить промпт перед генерациейПо умолчанию5 секунд
Длительность видео в секундахПо умолчанию720p
Разрешение выходного видеоПо умолчаниюДа
Сохранять созданное видео со звукомПо умолчанию-1
Управление воспроизводимостью (-1 для случайного значения)Примеры

Рыцарь медленно полностью опускает меч. Белый волк осторожно приближается, останавливается перед ней и кладёт разорванную золотую цепь к её ногам. Она опускается на колени и поднимает её, узнавая выгравированный на ней символ. Волк поворачивается к далёкой горной тропе и начинает уходить. Она колеблется, затем следует за ним. Камера мягко облетает во время их первого сближения, затем следует сзади в заснеженный лес. Эпичное, но камерное фэнтезийное повествование.
Видео из изображения | 5 с | 720p | Full | Звук включён
Медленный макро-наезд, подвеска ловит движущиеся отражения света, текстура бархата стабильна, статичный штатив, атмосфера люксового бутика. Звук: лёгкое эмбиент-пиано, очень тихое.
Официальный пример запуска Pruna
Лёгкое движение в стиле модного эдиториала, небольшие игривые движения, модель сохраняет уверенную позу, естественное дыхание, мягкое движение плеч, лёгкое микродвижение головы, статичная камера, премиальная демонстрация для электронной коммерции, контролируемое минимальное движение. Звук: минималистичный поп-грув, без вокала.
Официальный пример запуска PrunaКонтрольные показатели
Для этой версии модели оценок пока нет.
Оценки относятся к этой версии модели и методике источника. Качество и скорость конкретного запроса они не гарантируют.
API-запрос
Пример API-запроса подготовлен для этой операции. Ключ храните в переменной окружения на своём сервере. REQUEST_ID: уникальный идентификатор запроса. При повторе сохраняйте его и тело запроса.
Ответ содержит задание. Проверяйте его по GET /v1/jobs/{id}. Перед отправкой получите стоимость через POST /v1/quotes и укажите допустимый лимит: как задать бюджет запроса.
import json
import os
from urllib.request import Request, HTTPRedirectHandler, build_opener
class NoRedirect(HTTPRedirectHandler):
def redirect_request(self, req, fp, code, msg, headers, newurl):
return None
opener = build_opener(NoRedirect)
def post(url, payload):
request = Request(url, data=json.dumps(payload).encode("utf-8"), headers={
"Authorization": "Bearer " + os.environ["KVANTORA_API_KEY"],
"Content-Type": "application/json",
"Idempotency-Key": os.environ["REQUEST_ID"],
}, method="POST")
with opener.open(request, timeout=120) as response:
return json.load(response)
def get(url):
request = Request(url, headers={
"Authorization": "Bearer " + os.environ["KVANTORA_API_KEY"],
}, method="GET")
with opener.open(request, timeout=120) as response:
return json.load(response)
def format_rubles(value):
amount = int(value)
sign, absolute = ("-" if amount < 0 else ""), abs(amount)
if 0 < absolute < 10_000:
return sign + "<0,01 ₽"
cents = (absolute + 5_000) // 10_000
return f"{sign}{cents // 100},{cents % 100:02d} ₽"
quote = post("https://api.kvantora.ai/v1/quotes", {
"model": "pruna-ai/p-video-2/image-to-video",
"prompt": "Плавная заставка с геометрическими формами, без текста",
"settings": {
"seed": -1,
"draft": false,
"duration": "5",
"resolution": "720p",
"save_audio": true,
"prompt_upsampling": true
},
"operation": "video_generation"
})
print("Стоимость:", format_rubles(quote["estimated_cost_microrub"]))
# Укажите допустимый бюджет вместо max_cost_microrub: 0.
payload = {
"model": "pruna-ai/p-video-2/image-to-video",
"prompt": "Плавная заставка с геометрическими формами, без текста",
"settings": {
"seed": -1,
"draft": false,
"duration": "5",
"resolution": "720p",
"save_audio": true,
"prompt_upsampling": true
},
"max_cost_microrub": 0
}
job = post("https://api.kvantora.ai/v1/videos", payload)
print(get("https://api.kvantora.ai/v1/jobs" + "/" + job["id"]))








