はじめに
白を消去領域、黒を保持領域とする画像マスクを使い、動画全体の固定領域を消去します。任意の指示で局所的な除去内容を説明できます。同じマスクがクリップ全体に適用されます。
| 項目 | 値 |
|---|---|
| 入力 | 動画 |
| 出力 | 動画 |
リクエストパラメーター
| パラメーター | 必須 | 説明 |
|---|---|---|
video_url | はい | 処理する動画全体。長さは 1 ~ 600 秒です。 1 文字以上 |
mask_url | はい | 動画フレームに位置を合わせた 一枚の静止 PNG 画像。除去領域を白、残す領域を黒で塗ってください。 1 文字以上 |
prompt | いいえ | 局所的な除去のための任意の指示。時間範囲の選択や追跡の有効化はできません。 |
料金
$0.024 / 秒
入力クリップ全体に対して秒単位で切り上げて課金され、最低課金時間は 3 秒です。このエンドポイントは 1 ~ 600 秒のクリップを受け付けます。マスクのサイズによって課金時間は短くなりません。
ユースケース
動画 → 動画編集 → 動画
動画編集
動画
非同期ジョブ
プロンプトガイドと実践のヒント
はじめに
Video Eraser は、動画クリップ全体にわたり、静止画像マスク内の内容を除去します。video_url と mask_url を送信し、必要に応じて除去内容を説明する短い prompt を添えてください。固定された字幕帯や、画面内の同じ領域にとどまる不要な要素に適しています。生成される背景は推定による補完であり、隠れている元のピクセルの復元ではありません。
主な機能と特長
クリップ全体で固定された領域
マスクは静止画像です。白は消去する領域、黒は保持する領域を示します。送信した動画全体で、画面内の同じ領域に適用されます。開始時刻フィールド、終了時刻フィールド、移動物体の追跡コントロールはありません。白い領域の外に移動した字幕は、そのマスクでは対象になりません。選択領域を通過する内容も、補完によって変わる可能性があります。
マスクに添えられる任意の説明
短い説明を添えることで、何を除去し、その周囲に何があるかを明確にできます。このエンドポイントでは、領域を明示するためにマスクが必須です。処理料金は入力クリップ全体を基準に、秒単位で切り上げ、最低課金時間は 3 秒です。受け付ける元クリップの長さは 1 ~ 600 秒です。マスクを小さくしても、課金対象の動画時間は短くなりません。
活用例
固定された字幕帯を除去する
ご自身の映像に焼き込まれた字幕については、字幕帯を指定し、文字が表示されるすべての箇所を確認してください。結果の確認は、背景が静止している場面から始めるとよいでしょう。字幕がプロジェクト内でまだ編集可能なテキストレイヤーなら、ピクセルの再構成を選ぶ前に、そのレイヤーを直接削除してください。
固定オーバーレイを除去する
編集中の映像の隅にある不要なオーバーレイには、対象をぴったり囲むマスクを使ってください。人物や商品が選択領域の背後を通るフレーム、またはカメラの移動によって背景が変わるフレームを確認してください。こうした場面では、変化する内容を推定して補完する必要があり、一枚のプレビューフレームでは目立たないちらつきや輪郭のゆがみが現れる場合があります。
プロンプトガイドと活用のコツ
曖昧さのないマスクを作る
元のフレームに位置を合わせた PNG マスクを用意します。除去領域の内側は白、その外側は黒にしてください。送信前に、最初・中間・最後のフレームで位置を確認してください。特に顔や重要な商品ディテールと重なる場合は、必要以上に大きい白い領域を避けてください。マスクは静止したままクリップ全体に作用し、移動する字幕を追跡したり、編集を指定の時間範囲に限定したりすることはできません。
局所的な編集内容を説明し、結果を比較する
「固定された字幕帯を除去し、周囲の背景で補完する」などの任意の指示なら、新しいシーンを作り出さずに意図する変更を説明できます。出力を元の映像と通常の再生速度で比較し、動きが複雑な箇所の前後はフレームごとにも比較してください。消去した領域だけでなく、マスク外の領域、クリップの長さ、フレームレート、音も確認してください。元の音声の保持と、マスク外のピクセル単位での完全な保持は検証されていないため、元ファイルを保管してください。
API クイックスタート
# Generate the idempotency key once; reuse it when retrying after a lost response.
export SPICY_IDEMPOTENCY_KEY="${SPICY_IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $SPICY_IDEMPOTENCY_KEY" \
-d '{
"model": "spicyapi/video-eraser-v1/video-edit",
"input": {
"mask_url": "https://example.com/reference.png",
"video_url": "https://example.com/reference.mp4"
}
}'
# Copy data.taskId from the response into TASK_ID, then poll the status.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $SPICY_API_KEY"
認証、完全なスキーマ、ポーリング、エラー処理は API リファレンスを参照してください。