はじめに
Camera Angle Changer は、写真を撮ったあとにカメラを動かします。被写体の周りを回る、真上から見下ろす、寄る、引くといった指示を出すと、その位置から見た同じ人物と場所が返ります。カメラを持って撮影現場を歩き回ったかのようです。
主な機能とハイライト
ホスト型の Multiple-angles LoRA
dx8152 の Multiple-angles LoRA を Qwen-Image-Edit-2509 上で実行します。多くの ComfyUI ユーザーが「Qwen Edit 2509 Multiple Angles」として知っているカメラ制御 LoRA ですが、ローカルでの設定は必要ありません。
平易な言葉での動き
この LoRA にはトリガーワードがありません。動きを書いてください。「Rotate the camera 45 degrees to the left.」「Turn the camera to a top-down view.」「Turn the camera to a close-up.」などです。
はっきりした違い
同じ写真と seed では、LoRA を使わない元の編集モデルは 45 度の回転でほとんど構図が変わりませんでした。LoRA を使うと、ピックアップトラックが横から見える構図になりました。
リクエストパラメーター
| パラメーター | 必須 | 説明 |
|---|---|---|
image_url | はい | 組み直す写真です。公開 HTTPS リンクまたはアップロード(JPEG、PNG、WebP、10 MB まで)。 1 文字以上 |
prompt | はい | カメラの動きを平易な言葉で書きます。1 リクエストに 1 つの動きが最も良く働きます。 1 文字以上 · 1000 文字以内 |
aspect_ratio | いいえ | 任意です。空のままにすると、写真の形を約 100 万画素で保ちます。 |
output_format | いいえ | 既定は JPEG です。必要なら PNG か WebP を選べます。 |
seed | いいえ | 同じ写真で 2 回の結果を比べたいときに、同じ数字をもう一度使います。0〜2147483647 の任意の整数です。 |
料金
$0.03 / 枚
出力画像 1 枚ごとに、定額料金で課金されます。比率と出力形式では料金は変わらず、失敗したリクエストには課金されません。
ユースケース
掲載用に別の角度を
1 枚の商品写真や場所の写真を、横、真上、アップの構図に変えます。掲載やカルーセルで、被写体を複数の方向から見せられます。
場面のカバレッジ
絵コンテやカルーセルのために、同じカップル、同じコート、同じ光、同じ背景のまま、引きの構図からアップへ切り替えられます。
キャラクターの回転図
参考用に、同じ人物と服装の複数の角度を得られます。
プロンプトガイドと実践のヒント
一度に一つの動き
当社のテストでは、単一の動きが最も安定しました。複合的な動きは、結果をもう一度通してください。
奥行きを与える
距離の異なる物が写っている場面ほど、大きく変わります。スタジオで撮った寄りのポートレートでは、主に頭が回るだけです。
推測で作られた側面を確認する
大きな回転や真上からの構図では、元の写真に写っていなかった部分が描かれます。もっともらしく見えますが、それは新しく作られたものです。
学習された言い回しを使う
この LoRA は「Rotate the camera 45 degrees to the left.」や「Turn the camera to a close-up.」のような短い指示を学習しています。当社のテストでは、その言い回しを起点に、方向だけを変えると最も予測しやすい結果になりました。
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/camera-angle-changer-v1/edit",
"input": {
"image_url": "https://example.com/reference.png",
"output_format": "jpeg",
"prompt": "A ceramic teapot on a linen cloth, soft window light, muted palette"
}
}'
# 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 リファレンスを参照してください。








