はじめに
Image Expander は、写真を外側へ広げて新しい形にします。目標のアスペクト比を選ぶと、ツールは写真をそのまま残してより横長または縦長のフレームの中に置き、空いた部分に新しい景色を描き込むので、全体がひと続きの画像に見えます。トリミングとは逆の操作で、元の写真は何も切り落とされず、フレームを埋めるために引き伸ばされることもありません。
主な機能とハイライト
選べる 7 つの形
仕上がりは正方形、横長、縦長から選べます。1:1、16:9、9:16、4:3、3:4、3:2、2:3 です。撮影時にトリミングを全部計画しておかなくても、1 枚の元写真からフィード投稿、動画のカバー、ストーリー、バナー、印刷風のレイアウトまでまかなえます。
余白埋めではなく続きを描く
新しい部分は、すでに写っているものの続きとして描かれます。床、空、壁、植物、光の向きが元の縁を越えてつながり、フレームがぼかしや鏡映しの縁、単色で埋められることはありません。
書くプロンプトはない
拡張部分は写真そのものから推測されます。画像 1 枚と比率 1 つだけでリクエストが完結するので、縦長の写真が詰まったフォルダを 1 回のバッチで横長バナーに変えるのも簡単です。
リクエストパラメーター
| パラメーター | 必須 | 説明 |
|---|---|---|
image_url | はい | 広げたい写真です。JPEG、PNG、WebP に対応します。 1 文字以上 |
aspect_ratio | いいえ | 仕上がりの形です。長辺は常に 1536 ピクセルで、16:9 は 1536 × 864、9:16 は 864 × 1536、1:1 は 1536 × 1536 になります。 |
output_format | いいえ | 標準は PNG です。ファイルを小さくしたいときは JPEG か WebP を選びます。 |
料金
$0.024 / 枚
出力画像 1 枚ごとの課金です。選ぶアスペクト比で料金は変わりません。
ユースケース
1 回の撮影で全フォーマット
縦長の商品写真やポートレートから、撮り直しもフレーム左右の不格好な帯もなしに、16:9 の Web ヘッダーと 1:1 の出品用タイルを作れます。
文字とレイアウトのための余白
被写体の周りに空や背景を足し、バナー、サムネイル、プレゼン資料のスライドに見出しやロゴ、行動を促すボタンを置けるすっきりした余白を作ります。
窮屈なトリミングを直す
切れたひじ、縁で欠けた椅子、枠に押しつけられた水平線など、きつく切りすぎた写真にゆとりを取り戻します。
プロンプトガイドと実践のヒント
使う場所に合わせて比率を選ぶ
拡張する前に、画像をどこで使うかを決めてください。動画のカバーやヘッダーは 16:9、ストーリーやリールは 9:16、フィードや出品ページは 1:1、印刷風のレイアウトは 3:2 か 2:3 です。元の形から離れるほど描き足す景色が増えるので、控えめな変更ほど自然になじみます。
出力サイズに注意する
拡張後の画像は長辺が 1536 ピクセルです。大きな元画像は送ったときより小さくなって返るため、書き出し先でもっと画素数が必要なら、画質の低い元画像から始めるのではなく、結果をあとからアップスケールしてください。
縁がすっきりした写真から始める
ツールは写真の縁に接しているものを何でも続けて描きます。空、撮影用の背景紙、しっくい壁、砂浜のようなシンプルな背景はもっとも自然に広がります。顔、手、文字が縁で切れていると、欠けた部分をツールが作り出すしかなく、そこが結果をもっとも読みにくくするので、そうした細部の周りに余裕のある元写真を選んでください。
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/image-expander-v1/edit",
"input": {
"aspect_ratio": "1:1",
"image_url": "https://example.com/reference.png",
"output_format": "png"
}
}'
# 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 リファレンスを参照してください。








