ヘッドスワップ – 解析
namifusion/head-swap/analyze
namifusion/head-swap/analyze. 画像・動画・顔交換のモデル API を閲覧。試してから統一 REST API で統合。
サンプル
パラメータ
| 名前 | 型 | 既定 | 制約 | 説明 |
|---|---|---|---|---|
| resolution解像度 | select | 720p | 480p | 720p | 出力解像度またはプロバイダーの生成モードを選択します。高い設定ほど処理時間が長くなる場合があります。 |
出力フィールド
| フィールド | 型 | 説明 |
|---|---|---|
| objects | array | |
| video_info | object | |
| analysis_id | string | |
| detected_objects | number | |
| track_manifest_url | string |
API
統一 REST API でこのモデルを呼び出せます。API Keys ページでキーを取得してください。
cURL
# 1) Submit — returns { "task_uuid": "..." }
curl -X POST "https://www.namifusion.com/api/v1/marketplace/run/namifusion/head-swap/analyze" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"input": {
"resolution": "720p"
}
}'
# 2) Poll until status is "completed", then read the output URLs
curl "https://www.namifusion.com/api/v1/marketplace/run/tasks/TASK_UUID" \
-H "Authorization: Bearer YOUR_API_KEY"Python
import time, requests
API_KEY = "YOUR_API_KEY"
HEADERS = {"Authorization": f"Bearer {API_KEY}"}
# 1) Submit
resp = requests.post(
"https://www.namifusion.com/api/v1/marketplace/run/namifusion/head-swap/analyze",
headers=HEADERS,
json={
"input": {
"resolution": "720p"
}
},
)
resp.raise_for_status() # 401/402/429/5xx stop here instead of polling a bad task
task = resp.json()
# 2) Poll until a terminal state (completed / failed / cancelled).
# This model is allowed up to 1800s server-side.
deadline = time.time() + 1860
while task.get("status") not in ("completed", "failed", "cancelled"):
if time.time() > deadline:
raise TimeoutError(f"still {task.get('status')} — keep the task_uuid and poll later")
time.sleep(3)
poll = requests.get(f"https://www.namifusion.com/api/v1/marketplace/run/tasks/{task['task_uuid']}", headers=HEADERS)
poll.raise_for_status()
task = poll.json()
print(task["status"], task.get("output"))JavaScript
const API_KEY = "YOUR_API_KEY";
const HEADERS = { Authorization: `Bearer ${API_KEY}` };
// 1) Submit
const resp = await fetch("https://www.namifusion.com/api/v1/marketplace/run/namifusion/head-swap/analyze", {
method: "POST",
headers: { ...HEADERS, "Content-Type": "application/json" },
body: JSON.stringify({
"input": {
"resolution": "720p"
}
}),
});
if (!resp.ok) throw new Error(`submit failed: ${resp.status} ${await resp.text()}`);
let task = await resp.json();
// 2) Poll until a terminal state (completed / failed / cancelled).
// This model is allowed up to 1800s server-side.
const deadline = Date.now() + 1860 * 1000;
while (!["completed", "failed", "cancelled"].includes(task.status)) {
if (Date.now() > deadline) throw new Error(`still ${task.status} — keep the task_uuid and poll later`);
await new Promise((r) => setTimeout(r, 3000));
const poll = await fetch(`https://www.namifusion.com/api/v1/marketplace/run/tasks/${task.task_uuid}`, { headers: HEADERS });
if (!poll.ok) throw new Error(`poll failed: ${poll.status}`);
task = await poll.json();
}
console.log(task.status, task.output);ドキュメント
Head Swap - Analyze
ヘッドスワップ動画ワークフローの第 1 段階として、動画内の頭部を検出・追跡します。
Head Swap Analyze は、入力動画に映る頭部をフレーム間で追跡し、次の Generate ステップに必要な obj_id と track_manifest_url を作成します。分析結果には確認用プレビューと動画情報も含まれます。このモデル単体では最終動画を生成しないため、同じ入力動画、解像度、分析結果を一組として管理してください。
主な特長
- 頭部の検出と追跡:動画内の対象を識別し、フレームをまたいだ追跡情報を作成します。
- 対象を選べるプレビュー:
objectsから各頭部のobj_id、プレビュー、マスク、カバレッジを確認できます。 - 生成用トラック情報:
track_manifest_urlを Head Swap Generate へ渡して置換処理を継続できます。 - 動画メタデータ:
video_infoに幅、高さ、FPS、フレーム数が含まれます。 - 480p / 720p 分析:生成時と同じ解像度で対象を追跡できます。
技術仕様
| 項目 | 内容 |
|---|---|
| ワークフロー | Head Swap のステップ 1 |
| 必須入力 | video_url |
| 動画の上限 | 30 秒 |
| 解像度 | 480p、720p(デフォルト) |
| 主な出力 | objects、track_manifest_url、video_info |
| 次のモデル | namifusion/head-swap/generate |
基本フロー
namifusion/head-swap/analyzeに動画 URL と解像度を送信します。- 完了までタスク結果をポーリングします。
objectsのプレビューから置き換える頭部のobj_idを選択します。- 同じ動画、返されたマニフェスト、選択した ID を Head Swap Generate へ渡します。
価格
既存文書の価格は 1 回の分析につき 10 クレジットです。この日本語文書の追加では価格設定を変更しません。
活用のポイント
対象の頭部が十分な大きさで映り、顔周辺が読み取れる 30 秒以内の動画を推奨します。強いブレ、長い遮蔽、頻繁な画面外移動は追跡を難しくします。Generate では必ず同じ動画と解像度を使い、他の Analyze タスクが返した track_manifest_url を組み合わせないでください。
関連モデル
ヘッドスワップ – 生成
namifusion/head-swap/generate. 画像・動画・顔交換のモデル API を閲覧。試してから統一 REST API で統合。
キャラクター置換 – 生成
namifusion/character-swap/generate. 画像・動画・顔交換のモデル API を閲覧。試してから統一 REST API で統合。
キャラクター置換 – 解析
namifusion/character-swap/analyze. 画像・動画・顔交換のモデル API を閲覧。試してから統一 REST API で統合。