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 |
포지셔닝 소개
이 도구는 영상 후반 작업과 마케팅 소재 제작을 위한 영상 교체 도구입니다. 소스 영상 하나와 인물 참조 이미지 한두 장을 업로드하면, 이미지 속 인물을 원본 영상의 장면에 넣으면서 원본의 카메라 움직임, 구도, 배경, 동작 리듬을 그대로 유지합니다. 프롬프트로 인물 배치 방식을 보충할 수 있으며, 비워 두면 소스 영상의 자연스러운 표현대로 처리됩니다. 광고 변형, 현지화 출연 버전, 기존 소재의 캐릭터 재선택에 적합하며, 소스 화면 비율에 맞춰 납품 가능한 영상 파일로 출력됩니다.
핵심 하이라이트
- 인물 교체, 원본 장면 유지——교체 후에도 소스 영상의 카메라 움직임, 구도, 배경, 동작 리듬을 그대로 이어받아 재촬영과 재세트 작업 부담을 줄입니다.
- 한두 장의 참조 이미지로 인물 지정——1인 또는 두 명이 각각 한 장씩 이미지를 사용하는 동시 교체를 지원하여, 2인 출연 소재의 빠른 변형 제작에 적합합니다.
- 소스 길이와 화면 비율 계승——출력 길이는 소스 영상을 따르고 화면 비율은 소스 영상 비율을 유지하여 기존 편집과 광고 집행 규격을 그대로 사용할 수 있습니다.
기능 설명
참조 이미지로 인물 교체: HTTPS 인물 이미지 한두 장을 제공하면 이미지 속 인물을 소스 영상 장면에 넣을 수 있습니다. 두 장의 이미지는 각각 두 출연 인물에 대응하여 2인 샷에 적합합니다.
프롬프트로 배치 방식 제어: 선택 사항인 프롬프트는 최대 1000자이며 인물을 장면에 어떻게 넣을지 설명하는 데 사용됩니다. 비워 두면 소스 영상의 기존 표현 방식대로 처리됩니다.
소스 영상 규격 제약: 소스 영상은 HTTPS 주소의 MP4, MOV 또는 WebM이어야 하며, 길이는 2~30초입니다. 범위를 벗어나면 거부되며 출력 길이는 소스 영상을 따릅니다.
해상도 선택: 480p, 768p, 1080p, 2k, 4k 중 하나를 출력 규격으로 선택할 수 있으며 기본값은 768p이고 화면 비율은 소스 영상을 따릅니다.
랜덤 시드 재현: 0~2147483647 범위의 랜덤 시드를 설정하여 동일한 소재와 파라미터로 반복 생성하고 서로 다른 인물 배치 효과를 비교할 수 있습니다.
적용 시나리오
- 광고 팀의 출연 변형 대량 제작——동일한 소스 영상에 서로 다른 인물 참조 이미지를 조합하여 여러 인물 버전의 영상 소재를 제작하고, 광고 집행 테스트와 멀티 플랫폼 배포에 활용합니다.
- 현지화 마케팅을 위한 출연 인물 교체——원본 영상의 장면과 리듬을 유지하면서 출연 인물을 타깃 시장 이미지로 바꾸어 기존 편집에 바로 투입할 수 있는 현지화 버전을 얻습니다.
- 기존 소재의 캐릭터 재선택——이미 촬영한 소재의 출연자만 교체하고 세트 재구성과 재촬영 없이 편집과 납품을 이어갈 수 있는 영상 파일을 출력합니다.
- 2인 샷 동시 교체——두 인물 각각에 참조 이미지 한 장씩을 제공하여 2인 출연 버전을 한 번에 생성하고, 소셜 숏폼의 다인물 소재 제작에 활용합니다.
제한 사항 및 선택 가이드
한 번에 최대 두 명까지 교체할 수 있으며, 소스 영상은 2~30초여야 합니다. 더 짧거나 길면 거부되며 출력 길이는 소스 영상을 따릅니다. 소스 영상과 최소 한 장의 참조 이미지를 반드시 함께 제공해야 하며, 텍스트만으로 영상을 처음부터 생성할 수는 없습니다. 원본 오디오 유지가 꺼져 있으면 기존 오디오 트랙을 사용하지 않으므로 최종 버전의 사운드는 직접 확인해야 합니다. 교체 효과는 참조 이미지와 소스 영상 화면 조건의 영향을 받으며 인물 외형이 완전히 일치한다고 보장하지 않습니다.
새소식
변경 이력 보기 →- 새 모델 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하여 폴링이 필요 없습니다. 콜백 본문은 태스크 상세와 동일한 구조입니다. 서명 검증·재시도·멱등에 대한 자세한 내용은 통합 비동기 API 소개 페이지의 콜백 설명을 참고하세요.
urlstring필수callback 사용 시 필수. 태스크 종료 후 이 URL로 POST됩니다. 유효한 http(s) URL이어야 합니다.
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필수태스크 ID. 접두사는 항상 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"
}
}
} 아티클
모든 아티클 보기 →관련 모델
모든 모델 보기 →동일 유형
-
Wan 2.6 Flash Alibaba $0.043 /초 -
Wan 2.7 Video Alibaba $0.100 /초 -
MiniMax H3 Max Turbo MiniMax $0.025 /초 -
Seedance 2.5 ByteDance $0.121 /초 -
Grok Imagine 1.5 xAI $0.011 /초 -
Creatify Boreal Creatify $0.015 /초 -
Gemini Omni 1.2 Google $0.023 /초 -
Vidu Q3 Vidu $0.149 /초 -
Veo 3.1 Fast Google $0.170 /초 -
FLUX 3 Video Black Forest Labs $0.090 /초 -
Kandinsky 6.0 Pro $1.93 /동영상 -
Veo 3.1 Lite Google $0.060 /초
