AiCutyBench — GPT-Image-2.5 は AiCuty を再現できるか(歩留まり実測)
· 6 min read
AICU 公式キャラクター AiCuty を、GPT-Image-2.5 がどれだけ確実に再現できるかを測りました。 主観の「なんとなく似てる」ではなく、正本のデザイン仕様(プロンプト=設計図)を判定軸に、生成物を機械採点して歩留まりを出す—— これを AiCutyBench として、再現可能な形でまとめています。この記事はその過程と結果の記録です。
なぜ「歩留まり」で測るのか
キャラクター API の価値は「1 枚きれいに出る」ことではなく、何度呼んでも同じキャラが出ることです。 GPT-Image-2.5 には seed がないため、再現性は「同じ設計図(プロンプト)から、どれくらいの確率で合格品が出るか」=歩留まりで評価するのが正直です。
方法(AiCutyBench)
- グラウンドトゥルース=正本プロンプト。AiCuty の各キャラには公式リポジトリに「設計図」としてのプロンプトがあり(github.com/aicuai/AiCuty)、 そこから「変えても残る特徴」を判定軸として抜き出します(例: Mei なら高いサイドポニー・星のヘアピン・そばかす・スカート下のショートパンツ…の 8 項目)。
- 生成: 正本プロンプトを text-to-image(参照画像なし)で
gpt-image-2.5-flare/sunburstに渡す。 - 採点: 生成物を GPT-4o Vision に渡し、判定軸ごとに present / partial / absent を判定させ、総合スコア(0–100)を出す。
- 歩留まり: 同条件で N 枚生成し、スコア 85 以上を合格として合格率を出す。
主観を排し、同じ手順を誰が回しても同じ数字が出る設計です(スクリプトは AiCuty リポジトリの bench/ に置いています)。
結果 1: 歩留まり(正本プロンプト → text-to-image)
GPT-Image-2.5 Flare(6 人 × 各 10 枚 = 60 枚)
| キャラ | 合格 | 歩留まり | 平均スコア | 各回のスコア |
|---|---|---|---|---|
| Mei Soleil | 10 / 10 | 100% | 92 | 100 90 95 85 87 95 90 95 87 95 |
| Saki Noire | 10 / 10 | 100% | 100 | 100 95 100 100 100 100 100 100 100 100 |
| Elena Bloom | 10 / 10 | 100% | 99 | 100 95 95 100 100 100 100 95 100 100 |
| Nao Verde | 10 / 10 | 100% | 98 | 95 100 100 90 100 100 95 100 95 100 |
| Mina Azure | 10 / 10 | 100% | 100 | 100 100 100 100 100 100 100 100 100 100 |
| Marsha Arancia | 10 / 10 | 100% | 100 | 100 100 100 100 100 100 100 100 100 100 |
| 合計 | 60 / 60 | 100% | 98 | — |
GPT-Image-2.5 Sunburst(各 5 枚)
| キャラ | 合格 | 歩留まり | 平均スコア | 各回のスコア |
|---|---|---|---|---|
| Mei Soleil | 5 / 5 | 100% | 95 | 100 100 87 100 90 |
| Saki Noire | 5 / 5 | 100% | 99 | 100 100 100 100 95 |
- 6 人全員・60 枚すべてが合格(歩留まり 100%)。「正本プロンプトを渡せば、ほぼ毎回そのキャラが出る」が数字で言えました。
- Mei のスコアのばらつき(85〜100)は、主にそばかすの有無。細部の取りこぼしが起きるのはここです。
- Saki(濃色・情報量の多い衣装・左目にかかる前髪・指を唇に)はほぼ毎回満点。複雑な設計でも、設計図が明確なら再現できます。
- Elena・Nao も最低 90〜95 で、減点はどの回も 1 項目分(partial)程度。合格ライン 85 を割った回はありません。
- Mina・Marsha は 10 枚とも満点。色数が少なく輪郭のはっきりした設計ほど安定します。
- Sunburst は平均スコアがわずかに高い(Mei 92 → 95)が、歩留まりは同じ。
結果 2: quality 5 段階(Mei・Flare・1024×1024)
| quality | 出力画像トークン | 生成時間 | 忠実度 |
|---|---|---|---|
| low | 196 | 15.3 s | 87 |
| medium | 439 | 13.1 s | 90 |
| high | 1,756 | 21.6 s | 88 |
| xhigh | 3,122 | 29.2 s | 100 |
| max | 7,024 | 51.9 s | 100 |
- 出力トークン(=生成コストの実体)は low → max で約 36 倍。
- トークン数はサイズではなく形状で変わり、正方形がいちばん高い。同じ high でも 1024×1024 = 1,756、1920×1088 = 1,325(画素数は約 2 倍なのに少ない)、1728×800 = 893、1536×512 = 535。横長バナーは正方形より安い。この表の数字は 1024×1024 のもの。
- 忠実度は low〜high でほぼ横ばい、xhigh で満点に跳ね上がる。max は xhigh の約 2.3 倍のトークンで忠実度は同じ。
- 実務の目安: 速く回すなら medium、細部まで確実に再現したいなら xhigh。max は必要な時だけ。
途中で分かったこと(正直に)
- 「作り直し」はダメ。既存のリファレンスシートを "Recreate" させると、レイアウトごと描き直して崩れる。絵は作り直さず高画質化し、文字は画像生成に任せず PIL で合成する二段構えが正解(文字は画像モデルが崩す)。
- 正本プロンプトを使うと細部が来る。単体の参照画像+汎用プロンプトでは Mei のショートパンツがスカートになった。正本の設計図プロンプトにしたら、ショートパンツまで再現された。
- 多人数同時は楽器・衣装の取り違えが起きる。6 人を 1 枚にすると、担当楽器(Mei=ドラム、Mina=キーボード、Saki=ベース)が入れ替わることがある。キャラごとに楽器と衣装を明示し、直らない箇所は局所編集で 2 回目を回す。
input_fidelityは GPT-Image-2.5 系(Flare / Sunburst)も gpt-image-2 も受け付けない(400invalid_input_fidelity_model。gpt-image-1.5 系のパラメータ)。顔やロゴの忠実度は、プロンプトで参照画像の役割を書いて担保する。- Flare と Sunburst は同じ設定なら消費トークンが同じ。差は品質と待ち時間だけ。
商品化判断の材料として
- 正本プロンプト × GPT-Image-2.5 Flare で、6 キャラ・計 60 枚が歩留まり 100%(平均スコア 98)。Sunburst も 2 キャラ・10 枚で 100%。 「呼ぶたびに同じキャラが出る」がキャラクター API の前提条件で、それは満たせました。
- 残る詰めどころは「そばかす」のような微細な特徴の取りこぼし(最低スコア 85、Mei)。xhigh 指定、または判定軸で落ちた特徴をプロンプトで強調して 2 回目を回す、で埋まります。
- 結論: キャラクター API の生成エンジンとして GPT-Image-2.5 は採用に足る、が AiCutyBench の答えです。 採用の形(既定モデルの切替、quality の既定値、多人数構図の扱い)はこの結果をもとに決め、決まり次第この blog でお知らせします。
AiCutyBench のスクリプト・正本プロンプト・判定軸・結果 CSV は github.com/aicuai/AiCuty の bench/ にあります。同じ手順で再現できます。
