Pruna AI
P-Video 2 Pro Replace
p-video-2-pro-replace
Pruna AI の人物差し替え動画モデル。1〜2枚の参照画像で人物を既存の動画に配置し、最大2人まで同時に差し替え可能。元動画のカメラワーク、構図、背景、動作を保持し、元の音声トラックもそのまま使用できるため、広告のバリエーションやローカライズ版のナレーションに適しています
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本と人物参照画像1~2枚をアップロードするだけで、画像内の人物を元動画のシーンに配置でき、元映像のカメラワーク、構図、背景、動きのリズムを保ちます。プロンプトで人物の配置方法を補足できますが、空欄にすればソース動画の自然な見え方に従います。広告バリエーション、ローカライズ版の出演バージョン、既存素材のキャラクター差し替えに適しており、出力は元映像のアスペクト比で納品できる動画ファイルです。
主な特長
- 人物を差し替え、元シーンを保持——差し替え後もソース動画のカメラワーク、構図、背景、動きのリズムを引き継ぎ、再撮影や再設営の手間を削減します。
- 1~2枚の参照画像で人物を指定——1人のほか、2人がそれぞれ1枚ずつ画像を使って同時に差し替え可能で、2人出演素材の素早いバリエーション制作に適しています。
- 元の長さとアスペクト比を継承——出力の長さはソース動画に従い、アスペクト比もソース動画の比率を維持するため、既存の編集や配信仕様をそのまま利用できます。
機能説明
参照画像による人物差し替え:HTTPSの人物画像を1~2枚用意すれば、画像内の人物をソース動画のシーンに配置できます。2枚の画像はそれぞれ2人の出演人物に対応し、2人同時のショットに適しています。
プロンプトで配置方法を制御:任意のプロンプトは最大1000文字で、人物をシーンにどう配置するかを指定します。空欄の場合はソース動画本来の見え方で処理されます。
ソース動画の仕様制約:ソース動画はHTTPSアドレスのMP4、MOV、WebMで、長さは2~30秒でなければならず、範囲外は拒否されます。出力の長さはソース動画に従います。
解像度の選択:480p、768p、1080p、2k、4kから出力仕様を1つ選択でき、既定は768pで、アスペクト比はソース動画を踏襲します。
ランダムシードによる再現:0~2147483647のランダムシードを設定でき、同じ素材とパラメータで繰り返し生成したり、異なる人物配置の効果を比較したりできます。
適用シーン
- 広告チームによる出演バリエーションの一括制作——同じソース動画に異なる人物参照画像を組み合わせ、複数の人物バージョンの動画素材を生み出し、配信テストやマルチプラットフォーム配信に活用します。
- ローカライズマーケティングでの出演人物の差し替え——元映像のシーンとリズムを保ちながら、出演人物をターゲット市場のイメージに置き換え、既存の編集にそのまま差し込めるローカライズ版を得ます。
- 既存素材のキャラクター再選定——撮影済み素材の出演者を、再設営や再撮影なしで変更し、そのまま編集・納品できる動画ファイルを出力します。
- 2人ショットの同時差し替え——2人の人物それぞれに参照画像を1枚ずつ用意し、2人出演バージョンを一度に生成して、SNSショート動画の複数人物素材制作に利用します。
制限と選定のヒント
1回につき最大2人まで差し替え可能で、ソース動画は2~30秒でなければならず、それより短いまたは長い場合は拒否され、出力の長さはソース動画に従います。ソース動画と少なくとも1枚の参照画像を必ず同時に提供する必要があり、テキストのみからゼロで動画を生成することはできません。ソース音声を保持しない設定では元の音声トラックを引き継がないため、最終版の音声はご自身で確認してください。差し替え効果は参照画像とソース動画の画面条件に左右され、人物の外観が完全に一致することを保証するものではありません。
最新情報
更新履歴を見る →- 新しいモデル P-Video 2 Pro Replace 上线:1~2枚の人物写真で動画内の人物を置き換え
よくある質問
よくある質問を見る →-
画面内の人物は最大何人まで置き換えられますか?
最大2人まで。image_urlsには人物写真を1~2枚入れてください。1人の場合は1枚、2人の場合はそれぞれ1枚ずつです。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 バイト。同じアカウントで同じキーの再試行はタスクを 1 つだけ作成し、リプレイは最初の taskId を返します。
ネットワークタイムアウトやクライアントの自動再試行時、同じキーではタスクを 1 回だけ作成し、二重課金は発生しません(適用範囲 = 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 個を渡し、1 人の人物に対応させるか、2 人の人物それぞれに 1 枚ずつ対応させることができます。
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 のときのみ出現。成果物リスト — 常に配列で、1 タスクで複数の 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"
}
}
} 関連モデル
すべてのモデルを見る →同タイプ
-
Vidu Q3 Vidu $0.149 /秒 -
Veo 3.1 Google $0.290 /秒 -
HappyHorse 1.0 Alibaba $0.168 /秒 -
P-Video 2 Pro Avatar Pruna AI $0.029 /秒 -
Veo 3.1 Fast Google $0.170 /秒 -
Wan 2.7 Video Alibaba $0.100 /秒 -
FLUX 3 Max Black Forest Labs $0.121 /秒 -
PixVerse V6 Max PixVerse $0.030 /秒 -
Creatify Boreal Creatify $0.015 /秒 -
MiniMax H3 MiniMax $0.072 /秒 -
PixVerse V6 PixVerse $0.036 /秒 -
OmniHuman 2.0 ByteDance $0.100 /秒
