ブログ/developers·2026年8月14日·2分·執筆:eroqチーム
ユーザーに写真を送ってもらおう:ロールプレイチャットの画像認識
画像入力は、キャラクター製品でクレジットあたりの継続率への効果が最も高い機能です。UXのパターン、1リクエストでの実装、モデレーションの責任を解説します。
テキストのロールプレイには、親密さが一方通行になるという問題があります。キャラクターは自分の世界を描写しますが、ユーザーは自分の世界を言葉で説明し返すことしかできません。画像入力はこのループを閉じます。ユーザーが自分の机や犬や夕食の写真を送ると、キャラクターは彼の実際の1日に反応するのです。本番運用されているキャラクターアプリでは、この反応の瞬間が、消費したクレジットあたりで最も強力な継続率向上のきっかけの1つになっています。
機能の仕組み
チャットコンプリーションは、ユーザーのターンで画像パーツを受け付けます。contentは、テキストとimage_urlのエントリーが混在する配列になります(https URLまたはdata URI、1リクエストにつき最大2枚)。添付した画像1枚ごとに、応答の料金に2クレジットが加算されます。RP miniで写真に反応するターンは合計3クレジットで、約3セントです。
{
"model": "eroq-rp-mini",
"context": "Mira: sardonic starship mechanic. Relationship: three weeks in.",
"messages": [{
"role": "user",
"content": [
{ "type": "text", "text": "look what i built today" },
{ "type": "image_url", "image_url": { "url": "data:image/jpeg;base64,…" } }
]
}]
}
エンジンは画像を見て、キャラクターは画像のキャプションではなく、キャラクターとして反応します。この違いこそがプロダクトです。「美しいゴールデンレトリバーですね」は画像認識のデモにすぎません。「手についた油を拭いながらへえ、あんたより犬のほうがかわいいじゃん。名前は?」は、関係性です。
クレジットに見合うUXのパターン
- 反応の瞬間。チャットの入力欄にカメラボタンを置く。それだけです。ユーザーは自分で見つけます。「細かいところまで気づいてくれた」と感じる最初の返信が、心をつかむきっかけになります。
- 促されての共有。自然な流れの中で、キャラクターのほうから頼ませましょう。「今どこに座ってるのか見せてよ」のように。促されて送られる写真は、ボタンを置いておくだけの場合より3〜4倍よく反応があり、画像認識の支出のペースも調整できます。
- 記憶の呼び戻し。キャラクターが見たものをローリング要約に組み込みます(「彼の机は窓に面している。犬の名前はBiscuit」)。2日後の「Biscuitは元気?」という一言は、このカテゴリーで最も安く驚きを生む方法です。ただのコンテキストなので、追加のクレジットはかかりません。
- 上限は目に見える形で。1リクエストあたり2枚がAPIの上限です。無料プランに1日あたりの枠を設ければ、ユニットエコノミクスを退屈なほど安定させられます。画像認識は1回あたりは安くても、規模が大きくなれば無料ではありません。ほかの定額料金と同じように予算を組みましょう。
あなたに残る責任
ユーザーが送信した画像はユーザー生成コンテンツ(UGC)であり、UGCに伴う義務がモデルの提供元に移ることはありません。
- アップロードは自分の側でスキャンする(最低でも業界のハッシュリストを使ったCSAM検出)。それもAPI呼び出しの前にです。eroqの利用ポリシーは、未成年者と、同意のない実在人物のコンテンツを全面的に禁止しています。範囲外のリクエストには
content_blockedが返され、課金されることはありません。それでも、アップロード経路での検出ツールは、あなたが法的責任を負う部分であり、あれば便利という程度のものではありません。 - この機能にも年齢確認を設ける。プロダクトのほかの部分と同様です。写真のやり取りは、ロールプレイそのものと同じ年齢確認とポリシーの内側に置くべきです。
- 不要なものは保存しない。data URIはそのまま渡し、プロダクトに必要なもの(写真ではなく要約の1行)だけを保持しましょう。RP+とRP miniはeroq独自のモデルで、上流に何も保持しません。キャラクターが画像を送り返す場合、それは画像生成です。それらは
store: trueで永続的にホストできます。
よくある質問
1つのメッセージに、ユーザーは何枚の画像を添付できますか?
1リクエストにつき最大2枚で、https URLかdata URIとして、ユーザーのターンでのみ添付できます。1枚ごとに応答の料金に2クレジットが加算されるので、RP miniでの写真付きのターンは合計3クレジット、RP+での同じターンは5クレジットです。
両方のロールプレイモデルが画像認識に対応していますか?
はい。RP+とRP miniはどちらも画像パーツを受け付け、料金も同じく画像1枚につき+2クレジットです。追加料金が同じなので、写真が返信の主題でない限り、写真付きのターンはminiに回し、フラッグシップは重みのある場面のために取っておきましょう。
キャラクターは本当に写真を見ているのですか?それとも推測しているだけ?
エンジンは画像を見て、キャラクターとして答えます。それがプロダクトとしての違いのすべてです。画像認識のデモは写真にキャプションを付けますが、コンパニオンは写真に反応します。机の上の物を列挙するのではなく、机が散らかっていることに気づくのです。キャラクターが見たものをローリング要約に組み込めば、2日後の呼び戻しに追加のクレジットはかかりません。
ユーザーがアップロードしたもののモデレーションは誰の責任ですか?
あなたの責任です。API呼び出しの前に、自分の側でアップロードをスキャンしてください(最低でも業界のハッシュリストを使ったCSAM検出)。そして、プロダクトのほかの部分と同様に、この機能にも年齢確認を設けましょう。eroqの利用ポリシーは未成年者と同意のない実在人物のコンテンツを全面的に禁止しており、ポリシー外のリクエストには課金なしでcontent_blockedが返されます。しかし、アップロード経路での検出はeroqではなく、あなたが法的責任を負う部分です。
午後のうちにリリースする
画像入力は、入力欄のボタン1つと、既存の呼び出しでの配列の変更1つだけで実現でき、新しいインフラも不要という珍しい機能です。キーと無料の50クレジットがあれば、テスト全体をまかなえます。自分の机の写真をAPIに送って、キャラクターがコーヒーカップに気づく様子を見てみましょう。その反応こそが機能であり、残りはプロダクトとしての規律です。
この記事で使ったモデルで作ってみましょう。無料の50クレジットで始めるか、全エンジンと料金をご覧ください。