Celebrity Look-Alike(look-alike-v1)は、ポートレート1枚を、1リクエストあたり$0.05で有名人そっくりの生成画像に変えます。レスポンスは画像のみで、有名人のIDフィールドも、ランキングも、類似度スコアもありません。 画像自体は、印刷された見出し、有名人の名前、手書き風のサインが入った2分割レイアウトになることがあり、文字が崩れることもあります。共有カードはそれを前提に設計し、名前を本人確認済みの識別として見せないでください。
Look-Alike は本人が自発的に使うエンタメ機能に向いています。自撮りをアップロードすると、共有できる画像が返ります。プロンプトも、対象人物の指定も、強度の調整もないため、衣装を指定して変えたい場合や、繰り返し登場する架空キャラクターには画像編集モデルを使ってください。
「そっくり」APIの種類を選ぶ
そっくり系ツールの多くは、実際には別の2種類のどちらかです。顔認識サービスやオープンソースのプロジェクトは、顔をベクトルに変換して有名人データベースを検索し、名前とスコアを返します。一般向けの診断サイトは、根拠となる手法なしに「92%一致」のようなパーセントを表示します。Look-Alikeはそのどちらでもありません。
| やりたいこと | 使うもの |
|---|---|
| 1枚の写真から、共有できるそっくり生成画像を作る | Look-Alike |
| ランキング付きの有名人名や類似度の数値 | 認識サービス、または保有ライセンスのあるデータベースに対する自前のエンベディング検索。Look-Alikeはどちらも返さない |
| 一人の顔を、自分で選んだターゲット画像に合成する | フェイススワップのエンドポイント |
エンドポイントが受け付けるもの
| 項目 | 現在の仕様 |
|---|---|
| モデルID | spicyapi/look-alike-v1/edit |
| 入力 | image_url 1つ: JPG、PNG、WEBP、GIF、最大10 MB |
| 料金 | 1リクエスト$0.05。結果が気に入らなくても課金される |
| 利用不可 | プロンプト、ターゲットの有名人、シード、サイズ、強度、類似度 |
| 保持期間 | 元画像は1日後、結果は14日後に削除 |

モデルページの Look-Alike 出力例: 返される画像は見出し付きの2分割コラージュで、実在の人物の名前が印刷されています。きれいな単独の顔写真を前提にしたレイアウトは崩れます。
モデルページの例は、印刷された名前とサインが入った2分割コラージュです。画像内に文字が入る前提で設計してください。実際の出力をカードのサイズでプレビューし、縦横比は保ってください(正方形に引き伸ばすと顔が歪みます)。文字を切り取っても、残った顔が確認済みの一致になるわけではありません。
元写真を準備する
モデルページには失敗しやすいケースが挙げられています。集合写真、横顔、サングラス、手や髪で顔が隠れている写真、被写体ブレ、非常に小さい顔は、一致の質を下げるか、呼び出しが失敗する原因になります。照明が良く、ほぼ正面で、フレームの適切な割合を占め、両目と生え際が見える顔を1つ使ってください。向きとトリミングはアップロード前に適用してください。ギャラリーのサムネイルは回転メタデータを無視することがありますが、アップロードされるバイト列にはそのメタデータが残ります。集合写真の小さな顔を拡大しても細部は増えないので、新しい写真を依頼してください。

イラストで、Look-Alike の結果ではありません。ほぼ正面の成人のポートレートで、読み取りやすい入力のフレーミングを示します。
まず Playground で試す
- Look-Alike のページを開き、Playground タブの Form 表示のままにします。実行するには、残高のあるアカウントでサインインします。
- 同意した成人のポートレートを Input image(JPG、PNG、WEBP、GIF、最大10 MB)にドロップするか、Asset URL で直接リンクを貼ります。ほかに設定する項目はありません。
- 実行し、返された画像全体を開いて、以下の手順で確認します。
コードを書く前に、いちばん難しい元写真をここで試してください。Playground で一致が外れるなら API でも外れます。対処は、より良い写真を使うことです。
次にコードから呼び出す
Python SDK をインストールし(pip install spicyapi)、サーバー環境に SPICY_API_KEY を設定して、次を実行します。
import urllib.request
import uuid
from spicyapi import SpicyClient, output_assets
client = SpicyClient() # reads SPICY_API_KEY from the environment
photo = client.upload_file("./authorized-adult-portrait.jpg") # becomes a spicy:// URI
task = client.create_task(
model="spicyapi/look-alike-v1/edit",
input_data={"image_url": photo["uri"]},
idempotency_key=str(uuid.uuid4()), # new key per new request; reuse only to retry the same one
)
final = client.wait_for_terminal(task["taskId"])
if final["state"] != "succeeded":
raise RuntimeError(f"Task {task['taskId']} ended as {final['state']}")
url = output_assets(final)[0]["url"]
# some script clients get 403 without a User-Agent
request = urllib.request.Request(url, headers={"User-Agent": "look-alike-example/1.0"})
with urllib.request.urlopen(request) as response, open("look-alike.webp", "wb") as out:
out.write(response.read())送信するのは image_url だけです。有名人の名前など、追加のプロパティは受け付けません。アップロード、待機、再試行はタスクガイドと Python SDK リファレンスで説明しています。Webhook についてはポーリングと Webhook の比較ガイドを参照してください。結果は 14 日後に削除されるため、ユーザーが画像を保存する場合は、自社のストレージにコピーしてください。
または Agent に実行させる
アシスタントにリクエストを実行させる場合、CLI と MCP サーバーは料金を表示し、有料の呼び出しの前に確認を求めます。Skill は指示を追加するだけです。
- CLI。
spicyapiはターミナルから1つのタスクを実行します(npx @spicyapi/cliならインストール不要)。アップロードが出力する URI を使い、{"image_url": "spicy://..."}をinput.jsonに保存します。
``bash spicyapi files upload ./authorized-adult-portrait.jpg spicyapi tasks create --model spicyapi/look-alike-v1/edit --input-file input.json --wait ``
- MCP サーバー。 アシスタントに MCP サーバーを追加し、「Run Look-Alike on ./authorized-adult-portrait.jpg.」と依頼します。
spicyapi_upload_fileを呼び、次に料金確認で止まるspicyapi_task_create、続いてspicyapi_task_waitを呼びます。 - Skill。
npx skills add spicyapi-ai/spicy-skillで Agent Skill をインストールすると、コーディングアシスタントがフィールドを推測せず、最新のモデルスキーマを読みます。単独ではタスクを実行できないので、CLI か MCP と併用してください。
共有カードを作る前に結果を確認する
顔のクロップではなく、返された画像全体を開きます。余分なパネル、見出しの文字、実在の名前、サイン、追加の顔、見た目の年齢の変化を確認してください。結果には Generated look-alike portrait(生成されたそっくりポートレート)とラベルを付けます。名前を見せたくない場合は、文字を切り取るか隠してください。残った顔が確認済みの一致になるわけではありません。隣に「93%一致」や「確認済みの有名人本人」と書かないでください。また、別のモデルが画像から読み取った名前を、Look-Alike が判定したかのように表示しないでください。画像に埋め込まれた文字は生成コンテンツで、誤っていることがあります。

イラストで、Look-Alike の結果ではありません。書き出しを選ぶ前に、画像全体と顔の周囲もすべて確認してください。
参加者が画像を気に入らなければ、破棄するか別の写真で試すことを提案してください。特定の有名人に寄せる手段はないため、再実行は改良ではなく、$0.05 の新しい候補になります。
| 問題 | 次の対応 |
|---|---|
| リクエストが拒否された | プロンプト、シード、サイズ、名前のフィールドを削除し、image_url だけを送る。 |
| 元画像を取得できない | ログインページ、期限切れの URL、HTML のレスポンスを、アクセスできる画像か spicy:// 参照に置き換える。 |
| 顔が不鮮明、または別人に一致した | 十分な品質の元画像から顔1つを切り出して使うか、より鮮明なポートレートを依頼する。 |
| 画像内の名前やサインを見せたくない | 共有を保留して見せ方を変える。名前は要求も削除もできるレスポンスフィールドではない。 |
| 参加者が特定のキャラクターや衣装を望む | 代わりに、参照画像に対応した画像編集モデルを使う。 |
| 完了したタスクのダウンロードに失敗する | ダウンロードを再試行する。新しいリクエストは作らない。 |
同意と共有
入力は常に実在の人物の顔なので、法的義務を検討する際は顔認識と同じ機能として扱ってください。生体情報は EU と米国の一部で別途規制されています。たとえばイリノイ州の BIPA は、生体識別子を収集する前に書面での通知とインフォームド・コンセントを求めています。この目的に同意した成人の写真だけを使い、公人の写真やほかから取得した画像は使わないでください。Look-Alike を本人識別、本人確認、監視、顔データベースの構築に使ってはいけません。生成の許可と、元画像や結果を公開する許可は別のものとして扱ってください。
Look-Alike はセーフティチェッカーなしで動作するため、年齢とコンテンツのルールはプロダクト側で適用する必要があります。実在の人物のポートレートで、性的、親密、または名誉を毀損する素材を作らないでください。結果を実在の人物についての主張として提示しないでください。服をきちんと着た成人の胸から上のポートレートが、公開するエンタメ機能での安全な標準入力です。
絞ったフローにしてください。非公開の元画像プレビュー、処理中の状態、完全な結果、明示的な保存または共有の操作です。生成が終わっても自動で公開しないでください。






