【検証】130トークンのプロンプトを55トークンに圧縮しても同じ画像が出るか?

【検証】130トークンのプロンプトを55トークンに圧縮しても同じ画像が出るか?

結論

  • 130+トークンのプロンプトを55トークンまで圧縮しても、意図した画像は再現できた
  • フラッシュ関連の4重指定、夜/暗いの3重指定など、同じ概念の繰り返しは1回で十分
  • She wears a deep Dark background のような文法破綻したフレーズは意図通りに機能していない可能性がある
  • カラーパレットのメモ書き(括弧で色と対象を紐づける形式)はCLIPが理解できない
  • 暗示的に効いていた要素もあるDark background を削除したら壁が消えたため、concrete wall background を明示的に追加する必要があった

検証の目的

長いプロンプトを書いていると、同じ表現を何度も繰り返したり、制作メモがそのまま残っていたりすることがある。本記事では、実際に使われていたフラッシュ撮影プロンプト(130+トークン)を分析し、冗長な表現を削除した最適化版(55トークン)で同等の画像が生成できるかを検証した。

実験条件

項目
モデルz-image-turbo(6B、写実特化蒸留モデル)
ステップ数8
サンプラーeuler
スケジューラーddim_uniform
CFG1.0
画像サイズ1024×1024
seed42, 123, 777(3シード固定)

元プロンプトの問題分析

まず、元プロンプト(130+トークン)を分析する。

元プロンプト(130+トークン)
1girl, 32yo japanese actress, full nude, Flash photography of a sitting on concrete at night, hugging her knees, She wears a deep Dark background, heart-shaped face, sharp cat-like eyes, long sleek black hair, pale ivory skin, Black polish on fingers and toes., ankle strap., Sitting on ground, knees pulled up to chest, arms wrapped around legs, head resting on knees looking at camera., Grey concrete ground, dark nighttime setting., Direct camera flash, harsh shadows behind the subject., High contrast, cool tones, stark flash lighting., Deep Blue ( Black (Hair, shadows), Grey (Concrete), Pale Ivory (Skin tone under flash), Muted Peach (Lips)

構造的エラー

箇所問題
Flash photography of a sitting on concreteof a の後に名詞がない。文法が破綻している
She wears a deep Dark background「背景を着ている」は意味不明。2つのフレーズが誤結合されている
ankle strap.何のankle strapか不明。full nudeとの整合性もない
Deep Blue ( Black (Hair, shadows), Grey (Concrete)...カラーパレットのメモ書きがそのまま残っている。CLIPは括弧構造のカラー割り当てを理解しない

冗長な重複

重複内容出現箇所回数
フラッシュFlash photography / Direct camera flash / harsh shadows behind the subject / stark flash lighting4回
夜/暗いat night / Dark background / dark nighttime setting3回
コンクリートsitting on concrete / Grey concrete ground2回
膝抱えポーズhugging her knees / Sitting on ground, knees pulled up to chest, arms wrapped around legs, head resting on knees looking at camera2回
肌の色pale ivory skin / Pale Ivory (Skin tone under flash)2回

効果が疑わしい要素

要素理由
High contrastフラッシュ撮影+夜を指定すれば高コントラストは暗示される
カラーパレット全体CLIPは Black (Hair, shadows) のような括弧付きカラー割り当てを理解しない。色指定は対象に隣接させるべき(属性リーク検証

最適化プロセス

以下の方針で最適化した。

  1. 構造的エラーを修正 — 文法が壊れたフレーズを正しい表現に置換
  2. 重複を1回に統合 — 4重フラッシュ指定→1回、3重夜指定→1回
  3. カラーパレットメモを削除 — 色指定は対象に隣接配置
  4. 不要な要素を削除 — ankle strap、High contrast
削除・変更した表現理由
Flash photography of a sitting on concretedirect flash photography at night に統合文法破綻の修正 + フラッシュ・夜・コンクリの重複解消
She wears a deep Dark background → 削除構造エラー。背景は at night で暗示
hugging her knees → 削除詳細版ポーズ記述と重複
dark nighttime setting → 削除at night と重複
Direct camera flash / stark flash lighting → 削除direct flash photography に統合済み
harsh shadows behind the subjectharsh shadows に短縮不要な修飾を削除
High contrast → 削除フラッシュ+夜で暗示
Deep Blue ( Black (Hair, shadows)... 全体 → 削除カラーパレットメモ
Black polish on fingers and toesblack nail polish に短縮色と対象を隣接
ankle strap → 削除不要

実験結果

実験1: 元プロンプト vs 最適化版(壁指定なし)

最適化版から壁の指定を除いた状態で比較した。

最適化版B(壁指定なし・約50トークン)
1girl, 32yo japanese actress, full nude, direct flash photography at night, sitting on grey concrete ground, knees pulled up to chest, arms wrapped around legs, head resting on knees looking at camera, heart-shaped face, sharp cat-like eyes, long sleek black hair, pale ivory skin, black nail polish, harsh shadows, cool tones
seed 42seed 123seed 777
元(A)元プロンプト seed42 壁背景で膝抱え元プロンプト seed123 壁際で膝抱え元プロンプト seed777 壁背景で横座り
最適化(B)最適化版 seed42 俯瞰で膝抱え最適化版 seed123 俯瞰で膝抱え最適化版 seed777 俯瞰で膝抱え
NSFW - クリックで表示

維持された要素(3/3枚): 膝抱えポーズ、フラッシュの影、夜間コンクリートの雰囲気、黒髪ロング、黒ネイル、クールトーン

変化した要素: 条件Aでは壁を背景にした構図が多いのに対し、条件Bは地面が広く写る俯瞰構図になった。元プロンプトの Dark background が壁として暗示的に機能していた可能性がある。

実験2: 壁指定を追加した最適化版

concrete wall background を明示的に追加して再検証した。

最適化版C(壁指定あり・約55トークン)
1girl, 32yo japanese actress, full nude, direct flash photography at night, sitting on grey concrete ground, concrete wall background, knees pulled up to chest, arms wrapped around legs, head resting on knees looking at camera, heart-shaped face, sharp cat-like eyes, long sleek black hair, pale ivory skin, black nail polish, harsh shadows, cool tones
seed 42seed 123seed 777
元(A)元プロンプト seed42 壁背景で膝抱え元プロンプト seed123 壁際で膝抱え元プロンプト seed777 壁背景で横座り
最適化+壁(C)最適化壁あり seed42 壁背景で膝抱え最適化壁あり seed123 壁際で膝抱え最適化壁あり seed777 壁背景で膝抱え
NSFW - クリックで表示

3/3枚すべてでコンクリート壁が背景に出現し、元プロンプトと同等の構図が復元された。

結果: フラッシュの影、膝抱えポーズ、壁際の構図、クールトーン — すべての意図した要素が最適化版でも維持された。

メモ: 元プロンプトの半分以上がノイズだったことになる。カラーパレットのメモ書きが削除されずに残ったまま使われるケースは珍しくない。

まとめ

冗長なプロンプトを整理する5つのチェックポイント

  1. 同じ概念を何回書いているか数える — フラッシュ4回、夜3回のような重複は1回で十分
  2. 文法が壊れていないか確認するof a の後に名詞がない、「背景を着ている」など
  3. 制作メモが混入していないか確認する — カラーパレットの括弧書きはCLIPに伝わらない
  4. 暗示される要素を省略する — フラッシュ+夜なら High contrast は不要
  5. 削除した結果を必ず画像で確認するDark background が壁として機能していたように、意図しない情報の消失がありうる

今回の最適化結果

トークン数フラッシュ影ポーズ
元プロンプト(A)130+ありありあり
最適化・壁なし(B)~50なしありあり
最適化・壁あり(C)~55ありありあり

75トークン以内に収まり、約20トークンの余裕がある。この余裕で新しい要素(小物、表情の変化など)を追加する余地がある。

メモ: プロンプトの最適化では、「何を書くか」よりも「何を書き忘れているか」の確認が重要である。

関連記事