Pruna AI
P-Video 2 Pro Replace
p-video-2-pro-replace
Видеомодель замены персонажей от Pruna AI: с помощью одной-двух референсных изображений помещает человека в существующее видео, позволяет заменять до двух человек одновременно, сохраняет движение камеры, композицию, фон и действия исходного ролика, а также может использовать исходную звуковую дорожку — подходит для рекламных вариаций и локализованных закадровых озвучиваний
Попробовать p-video-2-pro-replace
Ввод
Работы
Все работыВывод
videoЦены
p-video-2-pro-replace per second
| Характеристики | Цена за единицу |
|---|---|
| 480P | $0.0358 |
| 768P | $0.0715 |
| 1080P | $0.0858 |
| 2K | $0.100 |
| 4K | $0.1286 |
Что это
Это инструмент замены персонажей в видео для пост продакшена и создания маркетинговых материалов: загрузите исходное видео и одно-два референсных изображения человека, и персонаж с изображения будет помещён в сцену исходного видео с сохранением движения камеры, композиции, фона и ритма действий оригинала. Промпт может уточнить способ размещения персонажа, либо его можно оставить пустым — тогда ролик будет обработан естественно, как в исходном видео. Подходит для вариантов рекламы, локализованных версий с участием человека и замены персонажей в уже имеющихся материалах; на выходе — видеофайл, который можно сдать в пропорциях исходного кадра.
Ключевые возможности
- Замена персонажа с сохранением исходной сцены — после замены сохраняются движение камеры, композиция, фон и ритм действий исходного видео, что снижает объём пересъёмки и повторной постановки сцены.
- Персонаж задаётся по одному-двум референсным изображениям — поддерживается как один человек, так и одновременная замена двух человек, каждому из которых соответствует одно изображение; удобно для быстрого создания вариантов материалов с двумя людьми в кадре.
- Наследуются длительность и пропорции кадра исходника — длительность результата следует за исходным видео, пропорции кадра сохраняются как в источнике, что упрощает использование с существующим монтажом и форматами размещения.
Описание возможностей
Замена персонажа по референсным изображениям: достаточно предоставить одно или два HTTPS-изображения человека, чтобы поместить персонажа с изображения в сцену исходного видео; два изображения соответствуют двум людям в кадре и подходят для сцен с двумя персонажами.
Управление размещением через промпт: необязательный промпт до 1000 символов описывает, как поместить персонажа в сцену; если оставить поле пустым, обработка выполняется так же, как в исходном видео.
Ограничения на исходное видео: исходное видео должно быть доступно по HTTPS-адресу в формате MP4, MOV или WebM длительностью от 2 до 30 секунд; выход за этот диапазон отклоняется. Длительность результата следует за исходным видео.
Выбор разрешения: можно выбрать одну из спецификаций вывода — 480p, 768p, 1080p, 2k или 4k; по умолчанию 768p, пропорции кадра наследуются от исходного видео.
Воспроизводимость по случайному seed: можно задать случайный seed от 0 до 2147483647, чтобы повторять генерацию с теми же материалами и параметрами и сравнивать разные варианты размещения персонажей.
Сценарии применения
- Массовое создание вариантов с участием человека для рекламных команд — одно и то же исходное видео с разными референсными изображениями людей даёт несколько версий видеоматериала для A/B-тестирования и распространения на разных платформах.
- Локализация маркетинга с заменой человека в кадре — с сохранением сцены и ритма оригинала человек в кадре заменяется образом целевого рынка, и получается локализованная версия, которую можно сразу вставить в текущий монтаж.
- Подбор другого исполнителя для имеющихся материалов — замена человека в уже отснятом материале без повторной постановки сцены и съёмки; на выходе видеофайл, пригодный для дальнейшего монтажа и сдачи.
- Одновременная замена в сцене с двумя людьми — по одному референсному изображению на каждого из двух человек позволяет за один раз получить версию с двумя персонажами для коротких видео в соцсетях.
Ограничения и рекомендации по выбору
За один раз можно заменить не более двух человек; исходное видео должно длиться от 2 до 30 секунд — более короткое или длинное будет отклонено, длительность результата следует за исходным видео. Необходимо одновременно предоставить исходное видео и хотя бы одно референсное изображение; создать видео с нуля только по тексту нельзя. При отключённом сохранении исходного звука исходная аудиодорожка не переносится, и звук финальной версии нужно проверить самостоятельно. Результат замены зависит от референсных изображений и условий кадра исходного видео; полное совпадение внешности персонажа не гарантируется.
Новости
Смотреть changelog →- Новая модель Запуск P-Video 2 Pro Replace: замена людей в видео с помощью 1–2 фотографий
Частые вопросы
Все частые вопросы →-
Сколько человек максимум можно заменить на изображении?
Не более двух человек. В image_urls поместите 1–2 фотографии людей: если один человек — одну фотографию, если два — по одной на каждого. С помощью prompt можно дополнительно указать, как разместить людей в изображении.
-
Какой длительности может быть исходное видео?
В настоящее время принимаются исходные видео длительностью от 2 до 30 секунд; запросы, выходящие за эти пределы, будут отклонены. Длительность выходного видео совпадает с длительностью исходного и не задаётся отдельно; если материал длиннее, его необходимо предварительно обрезать или разделить на части и обрабатывать по отдельности.
-
Изменятся ли камера и фон при замене?
Нет, движение камеры, композиция, фон и временной ритм полностью берутся из исходного видео — модель заменяет только человека. Также нельзя изменить способ съёмки через параметры; чтобы получить другой ракурс или сцену, нужно взять другое исходное видео.
-
Можно ли сохранить звук из исходного видео?
Да, по умолчанию сохраняется: keep_audio по умолчанию имеет значение true, и выходное видео содержит звуковую дорожку исходного видео. Если установить значение false, выходное видео будет без исходного звука.
Создать задачу генерации
https://api.hiapi.ai/v1/tasks Заголовки
AuthorizationstringОбязательноAPI-ключ аккаунта. Обязателен в каждом запросе. Пример: Bearer YOUR_HIAPI_API_KEY. Получить API-ключ
Content-TypestringНеобязательноТело запроса всегда разбирается как JSON; при отправке принимается только application/json (charset опционален) — любое иное значение возвращает 415. Пример: application/json.
Idempotency-KeystringНеобязательноКлюч идемпотентности, до 255 байт. Повторные запросы с тем же ключом того же аккаунта создают задачу лишь один раз; реплеи возвращают исходный taskId.
При сетевых таймаутах или автоповторах клиента один и тот же ключ создаёт задачу только один раз, без двойного списания (область = аккаунт API-ключа). Рекомендуется бизнес-уникальный идентификатор (напр. "order-42"); реплеи возвращают исходный taskId, ключ истекает через 24 часа после первого запроса. Полная матрица сценариев — во введении единого асинхронного API.
Тело запроса
modelstringОбязательноТекущее фиксированное значение: p-video-2-pro-replace
routestringНеобязательноТекущее фиксированное значение: default
inputobjectОбязательно
Объект бизнес-параметров для p-video-2-pro-replace и маршрута default — см. таблицу параметров ниже.
seedintegerНеобязательноmin 0max 2147483647Случайное зерно, целое число от 0 до 2147483647; передача одинакового зерна при неизменных прочих входных данных помогает воспроизвести результат, если не передавать — выбирается случайно.
promptstringНеобязательноmaxLength 1000Необязательная инструкция, описывающая, как поместить человека с референсного изображения в сцену; если оставить пустым, содержимое и композиция исходного видео используются напрямую.
video_urlstringОбязательноpattern ^https://HTTPS-URL исходного видео, поддерживаются форматы MP4, MOV, WebM, длительность должна быть от 2 до 30 секунд; задаёт движение, сцену, ракурс и аудио; запросы с длительностью вне этого диапазона отклоняются, длительность вывода совпадает с длительностью исходного видео.
image_urlsarrayОбязательноminItems 1maxItems 2Массив HTTPS-URL изображений личности, которые нужно поместить в видео, поддерживаются jpg, jpeg, png, webp; передайте от 1 до 2 штук — они могут соответствовать одному человеку или двум людям по одному изображению на каждого.
Array [ string ]
keep_audiobooleanНеобязательноПо умолчанию: trueСохранять ли аудио исходного видео в выводе; логическое значение, по умолчанию true.
resolutionstringНеобязательноПо умолчанию: "768p"Разрешение вывода: 480p, 768p, 1080p, 2k, 4k, по умолчанию 768p; соотношение сторон исходного видео сохраняется; чем выше разрешение, тем выше стоимость.
480p768p1080p2k4kcallbackobjectНеобязательно
Настройка уведомления о терминальном состоянии. Если не задана — обратных вызовов нет, опрашивайте задачу сами.
Укажите callback.url при создании, и HiAPI отправит POST вашему сервису в терминальном состоянии — опрос не нужен. Тело callback повторяет структуру деталей задачи; проверка подписи, повторы и идемпотентность описаны во введении единого асинхронного API.
urlstringОбязательноОбязательна при наличии callback. В терминальном состоянии на этот URL отправляется POST; это должна быть корректная http(s)-ссылка.
whenstringНеобязательноПо умолчанию: "final"Сейчас поддерживается только final — уведомление и при success, и при fail.
finalstoragestringНеобязательноПо умолчанию: "temp"Уровень хранения артефактов: temp (по умолчанию, ~7 дней) или persistent (долгосрочно, оплата по объёму). При нехватке баланса или превышении лимита — тихое понижение до temp; фактический уровень виден в ответе деталей задачи.
temppersistentПримеры запроса
# Отправляет асинхронную задачу; сразу возвращает taskId (не ждёт генерации)
curl -X POST "https://api.hiapi.ai/v1/tasks" \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "p-video-2-pro-replace",
"input": {
"video_url": "…",
"image_urls": "…",
"keep_audio": true,
"resolution": "768p"
}
}' const res = await fetch("https://api.hiapi.ai/v1/tasks", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.HIAPI_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "p-video-2-pro-replace",
input: {
"video_url": "…",
"image_urls": "…",
"keep_audio": true,
"resolution": "768p"
}
}),
});
const task = await res.json();
// { code: 200, message: "success", data: { taskId } } import os, requests
res = requests.post(
"https://api.hiapi.ai/v1/tasks",
headers={"Authorization": f"Bearer {os.environ['HIAPI_API_KEY']}"},
json={
"model": "p-video-2-pro-replace",
"input": {
"video_url": "…",
"image_urls": "…",
"keep_audio": True,
"resolution": "768p"
}
},
)
print(res.json()) # { code, message, data: { taskId } } 200 OK
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR"
}
} 400 Bad Request
{
"code": 400,
"message": "invalid request",
"data": null,
"error_code": "INVALID_REQUEST"
} Получить детали задачи
https://api.hiapi.ai/v1/tasks/:id Поля ответа
taskIdstringОбязательноИдентификатор задачи, всегда с префиксом tk-hiapi-.
modelstringОбязательноПолное разрешённое имя модели. Задачи, отправленные с параметром route, возвращают base@route (напр. gpt-image-2/text-to-image@ext); иначе совпадает с переданным именем.
routestringНеобязательноПрисутствует только при явном параметре route; повторяет переданное значение.
statusstringОбязательноСтатус задачи.
queued В очереди, ещё не начата.
handling Обрабатывается.
archiving Обработка завершена, готовятся артефакты.
success Терминальное: завершено, артефакты доступны (возвращается output).
fail Терминальное: ошибка (возвращается error).
После отправки следите за status: success и fail — терминальные, остальные нет. Опрашивайте каждые 1–3 с до терминального состояния. При успехе скачайте артефакты из output[].url и перенесите до expireAt; для длительного хранения укажите storage: "persistent" при создании.
creatednumberОбязательноВремя создания задачи (Unix-секунды).
completednumberОбязательноUnix-секунды терминального состояния; до этого — 0.
outputarrayНеобязательно
Только при status == success. Список артефактов — всегда массив; одна задача может вернуть несколько type сразу (напр. video + first_frame).
Array [ object ]
Элементы массива
urlstringОбязательноURL артефакта, доступен для скачивания напрямую.
typestringОбязательноТекущие возможные значения: video, image, audio, first_frame, last_frame, thumbnail; список может расширяться.
expireAtnumberОбязательноUnix-секунды доступности артефакта; скачайте или перенесите до истечения.
errorobjectНеобязательно
Только при status == fail.
codestringОбязательноБизнес-код ошибки.
messagestringОбязательноОписание ошибки.
Примеры ответа
Успех
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR",
"model": "happyhorse-1-0",
"status": "success",
"created": 1777282033,
"completed": 1777282099,
"output": [
{
"url": "https://cdn.hiapi.ai/tasks/.../video.mp4",
"type": "video",
"expireAt": 1777886899
}
]
}
} Обработка (не финальное)
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "archiving",
"created": 1777282033,
"completed": 0
}
} Ошибка
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "fail",
"created": 1777282033,
"completed": 1777282099,
"error": {
"code": "TASK_FAILED",
"message": "task failed"
}
}
} Статьи
Все статьи →Похожие модели
Все модели →Тот же тип
-
Kling 3.0 Turbo Kuaishou $0.144 /секунду -
Kling 4.0 Kuaishou $0.204 /секунду -
Gemini Omni 1.1 Google $0.450 /видео -
FLUX 3 Video Black Forest Labs $0.090 /секунду -
Muse Video 1.0 Meta $0.034 /видео -
Wan 3.0 Video Alibaba $0.040 /секунду -
Vidu Q4 Preview Vidu $0.051 /секунду -
MiniMax H3 MiniMax $0.072 /секунду -
Ray 3.2 Luma $0.214 /видео -
P-Video 2 Pro Avatar Pruna AI $0.029 /секунду -
Kling 3.0 Kuaishou $0.100 /секунду -
HeyGen Avatar IV HeyGen $0.150 /секунду
