Pruna P-Video-Replace
Быстро ставит персонажа с 1–3 фото на место человека в видео. Движение, камера и звук — как в ролике.
Подходит для: вариантов рекламы, локализации роликов, маскотов в видео
Цена — за каждую секунду вашего видео. Результат той же длины: от 4 до 30 секунд, длиннее обрежется до 30.
Для разработчиков →Как получить лучший результат
«Замени фон на пляж», «сделай в стиле акварели».
Так нейросеть точнее сохранит всё остальное: лицо, позу, одежду.
Резкое, без сильного размытия, чтобы человека или предмет было хорошо видно.
В запросе укажите модель pruna-p-video-replace
1. Создать задачу POST /api/v1/jobs/createTask
curl -X POST https://mixmedia.tech/api/v1/jobs/createTask \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: order-123" \
-d '{
"model": "pruna-p-video-replace",
"callBackUrl": "https://your-app.example/callback",
"input": {
"prompt": "Поставь человека с фото на место героя ролика",
"image_urls": [
"https://example.com/photo.jpg"
],
"resolution": "720p",
"target_fps": "original"
}
}'import time, requests
API = "https://mixmedia.tech/api/v1"
HEADERS = {"Authorization": "Bearer YOUR_API_KEY"}
task = requests.post(f"{API}/jobs/createTask", headers=HEADERS, json={
"model": "pruna-p-video-replace",
"callBackUrl": "https://your-app.example/callback",
"input": {
"prompt": "Поставь человека с фото на место героя ролика",
"image_urls": [
"https://example.com/photo.jpg"
],
"resolution": "720p",
"target_fps": "original"
}
}).json()
task_id = task["data"]["taskId"]
while True:
info = requests.get(f"{API}/jobs/recordInfo", headers=HEADERS, params={"taskId": task_id}).json()["data"]
if info["state"] in ("success", "fail"):
break
time.sleep(4)
print(info["state"], info.get("resultJson") or info.get("failMsg"))const API = "https://mixmedia.tech/api/v1";
const headers = { Authorization: "Bearer YOUR_API_KEY", "Content-Type": "application/json" };
const { data } = await fetch(`${API}/jobs/createTask`, {
method: "POST", headers,
body: JSON.stringify({
"model": "pruna-p-video-replace",
"callBackUrl": "https://your-app.example/callback",
"input": {
"prompt": "Поставь человека с фото на место героя ролика",
"image_urls": [
"https://example.com/photo.jpg"
],
"resolution": "720p",
"target_fps": "original"
}
}),
}).then((r) => r.json());
let info;
do {
await new Promise((r) => setTimeout(r, 4000));
info = (await fetch(`${API}/jobs/recordInfo?taskId=${data.taskId}`, { headers }).then((r) => r.json())).data;
} while (!["success", "fail"].includes(info.state));
console.log(info.state, info.resultJson ?? info.failMsg);Ответ: data.taskId. callBackUrl и Idempotency-Key можно не передавать.
2. Статус и результат GET /api/v1/jobs/recordInfo
curl "https://mixmedia.tech/api/v1/jobs/recordInfo?taskId=TASK_ID" \
-H "Authorization: Bearer YOUR_API_KEY"
data.state: waiting, queuing, generating, success, fail. При успехе data.resultJson — строка JSON с resultUrls.
3. Загрузить файл POST /api/v1/files/upload
curl -X POST https://mixmedia.tech/api/v1/files/upload \
-H "Authorization: Bearer YOUR_API_KEY" -F "file=@photo.jpg"
В ответе data.url. Эту ссылку передайте в поле файла. Подойдёт и любая публичная https-ссылка.
Поля input
| Поле | Что передать |
|---|---|
prompt | текст, до 30000 символов |
video_url * | video |
image_urls * | список ссылок, до 3 |
resolution | 720p · 1080p · по умолчанию 720p |
target_fps | original · 24 · 48 · по умолчанию original |
save_audio | true или false, по умолчанию true |
ignore_audio | true или false, по умолчанию false |
turbo | true или false, по умолчанию false |
seed | число от -1 до 4294967295 |
О нейросети
Pruna P-Video-Replace берёт ваше видео и 1–3 фото и ставит персонажа с фото на место человека в ролике.
Движение, тайминг, камера и сцена остаются как в исходнике, звук ролика сохраняется. Модель быстрая: примерно 3–4 секунды генерации на секунду видео.
Видео — до 30 секунд (длиннее обрежется до 30), длина результата такая же. Разрешение 720p или 1080p, частота кадров — как в ролике, 24 или 48. Описание по желанию. Цена — за каждую секунду вашего видео.


