GPTに手伝ってもらうとき
GPTに文字のデザインや背景、ちびキャラの配置を頼むとき、入力をどう整理するかをまとめたノートです。実際の作業で、比較的意図が伝わりやすかった構成を集めています。
画像生成全般の「正解集」ではありません。結果にはばらつきがあり、ここで紹介する方法も作業を通じた観察と例です。文言や条件は、必要なところを置き換えて使ってください。
タイポグラフィ
文言だけを渡すよりも、正確な文字列、改行、配置、文字のスタイル、装飾の範囲を分けて指定すると、結果を確認しやすくなりました。
最初に決めること
- 文字列: 入れたい文言を正確に書きます。
- 行とブロック: どこで改行し、どの言葉を大きく見せるかを決めます。
- 優先順位: 文字を先に読ませたいのか、添えたキャラクターを先に見せたいのかを決めます。
- 文字のスタイル: 塗り、縁取り、太さ、変形をどこまで許すかを指定します。
- 装飾: 種類に加えて、数や密度にも上限を設けます。
- 文字列の保持: 表記を変えたり、言葉を足したりしないように伝えます。
基本の入力例
タイポグラフィの入力例を見る
# Typography Priority
* text is the primary focal point
* maintain high legibility
* decorative elements remain secondary
# Text Content
First line: `Welcome`
Second line: `Library`
# Layout
* centered two-line composition
* first line above second line
* clear spacing between lines
* no overlapping decorations
# Letter Style
* white fill
* light green outline
* bold rounded sticker lettering
* clean readable shapes
# Decoration
* idol fan-sign sticker atmosphere
* a few small music notes, sparkles, and hearts
* keep decorations sparse and outside the lettering
* no extra ribbons or decorative frames
* restrained glow and drop shadows
# Background
* transparent background
# Text Preservation
* keep all English text exactly as written
* do not alter spelling
* do not add extra letters or words
長いタイトルは見た目のまとまりで分ける
長い文をひとかたまりで渡すより、行と強調部分を分けたほうが読みやすい結果になりました。たとえば、次のように配置します。
文字ブロックの配置例を見る
[ GPT한테 ] [ 짬때리기 ]
[ 비주얼라이즈 ] [ ]
左は2行、右は左の2行分の高さにまたがる大きな言葉、と指定します。基本色と差し色を1色ずつ使い、装飾は文字の外側に少なめに置きます。ここでは実際の結果と対応させるため、韓国語の文字列をそのまま残しています。

結果を見て調整すること
表記や改行が合っていても、リボン、光彩、大きな影、アイコンなどが追加されることがありました。装飾の種類だけでなく、「少なめに」「文字の外側に」「全体の輪郭を大きく広げない」といった範囲も指定してみてください。
強いスタイルや多くの色を指定すると、文字そのものが装飾のようになることもありました。読みにくいときは装飾と色数を減らし、まず文字列を確認します。文字列を保持するよう頼んでも保証にはならないので、完成画像の表記は自分でも確認してください。
背景
背景がほしいときは、場所の名前だけでなく、視点、奥行き、光、描き込みの量を分けて伝えると意図を説明しやすくなりました。ここではキャラクターの外見・服装・ポーズを除き、背景の入力方法だけを扱います。
短いメモから始める
まずは使い慣れた言葉で場面を簡単に整理し、必要に応じて項目ごとの文に広げます。以下の場所や色は、置き換えて使うための例です。
背景を整理する短いメモを見る
用途:後から文字や画像を重ねる背景
場所:静かな田舎の上り坂
時間:宵の口
視点:目の高さから道を見る
空間:前景・中景・遠景を分け、遠いほどコントラストと彩度を下げる
画風:現代のアニメ風、フラットな色と単純なセル塗り
空:地平線付近は紫、上へ行くほど暗く
光:空からの穏やかな環境光、左奥に街灯を1つ
密度:まばらな風景、中央に複雑な物を置かない
制限:追加の街灯・装飾光・強いグローなし
入力を分ける目安
| 項目 | 決める内容 |
|---|---|
| 用途と構図 | 風景自体を見せるのか、別の要素を重ねる背景なのか。どこを空けるか |
| 場所と時間 | 地形、建物や物の位置、時間帯、雰囲気 |
| カメラ | 目の高さ・見下ろし・見上げ、見る方向、距離、遠近感の強さ |
| 空間 | 前景・中景・遠景、距離による大きさ・コントラスト・彩度の変化 |
| 画風 | 時代感、線、フラットな色、セル塗り、表面の描き込み |
| 照明 | 主光と環境光の役割、見える人工光源の数と位置、追加効果の上限 |
| 色 | 主な色と差し色、明暗差、遠景の彩度 |
| 動き | 風向きと強さ、草や布など周囲の要素の反応 |
| 質感 | 道・壁・水などの粗さ、つやの有無、光の反射 |
| 描き込みの量 | 入れる物、空けておく場所、省く装飾や細部 |
遠近感を2つに分ける
幾何学的な遠近法は、遠くの物ほど小さくなること、道の収束、建物の並びなど、空間の形を決めます。
空気遠近法は、距離に応じたコントラストや彩度の低下、薄い霞など、奥行きの見せ方を決めます。「遠近法を使って」に加えて、遠くをどう見せたいかを書きます。
画風と照明は、もう少し具体的に
anime styleに、時代感、色の塗り方、陰影、表面の描き込み具合を加えてみてください。フラットにしたいなら、flat coloring、clean cel shading、simple shadow shapesのように、求める状態を指定できます。
照明では、主光源が1つであることと、画面に見える人工光源が1つであることを区別します。空からの環境光と街灯がある場面なら、それぞれの役割を書きます。街灯の数が大切なら「場面全体で見える人工光源は正確に1つ」と指定し、結果でも確認します。
背景だけを作る入力例
元の田舎道の場面を、背景だけ生成する用途に合わせて編集した例です。下には実際の作業で得られた関連画像も載せています。編集後の入力文と、この画像の生成に使った入力文が完全に同じかどうかは確認していません。
背景の入力例を見る
# Purpose
* background-only image, with no people or characters
* leave a quiet central area for a later text or image overlay
# Background
## Art Style
* modern anime style
* flat coloring and clean cel shading
* simple shadow shapes
* restrained surface detail and reduced painterly rendering
## Field Information
* a quiet uphill rural road at early night
* sparse countryside surroundings
* purple near the horizon, with the sky darkening toward the top
* one distant streetlight on the left
## Spatial Structure
* consistent perspective and object scale with distance
* clear foreground, midground, and background separation
* distant objects gradually lose contrast and saturation
* subtle distance haze
# Camera and Composition
* eye-level view looking along the uphill road
* moderate perspective
* keep the central area uncluttered
* sparse foreground objects
# Lighting
* soft ambient evening light from the sky
* exactly one visible artificial light source in the entire scene:
the distant streetlight on the left
* the streetlight casts a small, restrained pool of light nearby
* shadows and reflections follow the stated lighting
* no additional lamps, spotlights, or decorative light sources
* restrained glow and highlights
# Color
* a controlled palette with purple near the horizon
* restrained saturation in distant scenery
* gentle contrast in the central overlay area
# Material Response
* the dry road and surrounding ground remain mostly matte
* subtle reflections consistent with the scene lighting
# Overall Direction
* calm, quiet rural atmosphere
* controlled environmental detail
* keep the open central area free of added decorations

結果を見て調整すること
- 風景が複雑すぎる: 描き込みを減らす場所と、省く物を指定します。
- 照明が増えた: 見える光源の数と位置を改めて書きます。
- 立体感やつやが強い: 単純な陰影、つやを抑えた表面など、求める状態を書きます。
- 奥行きが曖昧: 手前と奥で、大きさ・コントラスト・彩度がどう違うかを説明します。
- 風を入れる: 向きと強さを決め、影響を受ける周囲の要素も書きます。
禁止事項を長く並べるより、まず求める状態を書き、繰り返し強く出る要素に短い制限を添える形で調整していました。毎回すべての項目を埋める必要はありません。必要な関係や制限から書いてみてください。
ちびキャラの配置
ここでは細かな頭身や画風よりも、複数のキャラクターの位置と見る順番を扱います。実際に作業していると、顔やシルエットが大きいぶん、配置の不自然さも目につきやすく感じました。
何を主役にするか
キャラクター、文字、ロゴ、小物を一緒に入れるなら、最初に目に入ってほしいものを決めます。
キャラクターを主役にするとき:
キャラクター中心の入力例を見る
# Priority
* characters are the primary focal point
* text remains secondary
* decorative elements remain supportive
* character silhouettes remain the strongest visual elements
文字を主役にするとき:
文字中心の入力例を見る
# Priority
* text is the primary focal point
* characters function as supporting decoration
* text must be the first element the viewer notices
* character placement guides attention toward the text
人数別の配置例
作業の出発点として使いやすかった配置です。どの場面にも当てはまる固定ルールではありません。
| 人数 | 位置 | 意図する見る順番 |
|---|---|---|
| 2人 | Aが左、Bが右 | A → B |
| 3人 | Aが上、Bが左下、Cが右下 | A → B → C |
| 4人 | Aが左上、Bが右上、Cが左下、Dが右下 | A → B → C → D |
シルエットが重なりすぎないようにし、最初に見てほしいキャラクターを指定します。4人なら2×2を基本にするか、場面に合わせて斜めに視線が流れるように決めることもできます。
3人の配置を文章にした例:
ちびキャラ配置の入力例を見る
# Layout
* three chibi characters in a triangular composition
* character A at the top
* character B at the lower left
* character C at the lower right
* keep each character silhouette clearly separated
# Reading Order
* character A should be noticed first
* the viewer's eye then moves to character B, then character C
* keep decorative elements secondary to the characters
結果を見て調整すること
華やかでも中心がはっきりしないときは、描き込みを足す前に優先順位を見直します。誰を最初に見せたいか、次にどこへ視線を誘導したいか、文字がその流れを遮っていないかを確認します。
プラットフォーム外のサーバーから画像を表示する(外部画像)
仕組み
外部画像は、別のサーバーにアップロードしてホスティングした画像を、そのURLで表示する方法です。画像を置くサービスと、表示するプラットフォームは別でもかまいません。
流れは、画像をアップロード → 画像URLを取得 → 対応する画像記法でURLを出力 → 画像を表示です。
タグを付けると、どの画像を選ぶかのルールを設定できます。この例では扱いやすいように英字と数字を組み合わせ、英字で服装や状況、数字で表情や小物を区別しています。タグは画像を選ぶための識別子で、画像URLと対応させて使います。
表示の書式
Markdownの画像記法に対応する環境では、次のように書きます。URLは構造を示すための例なので、実際の画像URLに置き換えてください。一般的なMarkdownでは、URLを引用符で囲みません。

たとえばAを外出着、01を笑顔と決め、その画像にA01を対応させれば、場面のルールではコードを選ぶだけで済みます。ファイル名をコードと同じにするのは管理方法の一例で、必須ではありません。
とことん遊びたい人向けの活用例
着せ替え — 場面の状態と表情を組み合わせる
呼び出し形式を直接登録するオプションは、Rplay / StoryEngine / RomanticPlay限定です。 以下は、一部の機能をオフにして画像の呼び出し形式を登録するオプションを使った例です。この制限はそのオプションに関するもので、外部サーバーの画像をURLで表示する一般的な方法の制限ではありません。
場所・時間・睡眠状態から服装を選び、表情の番号を付けて画像の識別子を作る、実際の活用例です。利用しているプラットフォームでは一部の機能をオフにすると呼び出し形式を登録できるため、そこに画像の選択ルールを重ねています。原文は外部URLを直接出力せず、登録した(tag:)形式を使うものです。必要な設定はプラットフォームによって異なります。
大切なのは、文が変わるたびに服装を選び直さないことです。現在の服装コードENVをHUDの状況要約欄🧷に記録し、外出・帰宅・就寝など、状態が切り替わるときだけ再判定します。NUMは表情や小物画像の番号です。
| 服装コード | 選ぶ条件 |
|---|---|
| A | 家の外。時間帯にかかわらず最優先 |
| C | 家の中でベッドに入り、眠っている・寝入りかけている・目覚めた直後 |
| D | 家の中で起きていて、夕暮れ・夜・夜明けの時間帯 |
| B | 家の中で起きていて、朝・正午・午後の時間帯 |
A → C → D → Bの順に判定し、最初に一致した条件を採用します。以下は実際に使った原文です。実行するC#コードではなく、モデルに渡す指示文です。指示文内の韓国語のHUD項目名も原文のまま残しています。
着せ替えの入力ルール全文を見る
2. **Image Cue Rules:**
- All image output via `(tag:)` only. Direct URL embedding is strictly forbidden.
- Format: `(tag: {ENV}{NUM})` — e.g. `(tag: A3)`
- Append at the end of EVERY paragraph and dialogue block.
- **ENV Resolution (cascade — evaluate top-down, first match locks):**
1. Scene is OUTSIDE the residence → A (holds for any TIME_CTX)
2. INSIDE + in bed (sleeping / drifting off / just woke) → C (frilled sleep set)
3. INSIDE + awake + TIME_CTX ∈ {DUSK, NIGHT, DAWN} → D (cozy hooded loungewear)
4. INSIDE + awake + TIME_CTX ∈ {MORNING, NOON, AFTERNOON} → B (daytime home casual)
- **TIME_CTX gate:**
• C (sleep) is bound to the in-bed state, valid at any tick but realistically
only fires around {DUSK, NIGHT, DAWN}.
• D (lounge) is ELIGIBLE ONLY when awake at {DUSK, NIGHT, DAWN}.
• B never fires at {NIGHT, DAWN} unless the day has clearly restarted.
• A overrides time entirely — outdoors is always A.
- **ENV Persistence (anti-flicker · HUD-anchored):**
ENV is scene state, NOT a per-line choice, and its standing value
is STORED in the HUD (상황 요약 line, 🧷).
Each turn, resolve ENV in this order:
(1) READ the previous 🧷 value from the most recent HUD. This is
the current ENV unless something below overrides it.
(2) Check for a boundary crossing since that value was written:
leaves / enters residence → A ↔ (B|C|D)
gets into bed → C
gets out of bed, still cozy → D
new day starts / dresses → B (or A if heading out)
Only a LOCATION boundary or a TIME_CTX advance that crosses one
of the cascade lines may change ENV.
(3) If a boundary was crossed, re-run the top-down cascade to get
the new letter. If NOT, KEEP the previous 🧷 value verbatim.
(4) Write the resulting letter back to 🧷 in this turn's HUD.
Within a single response spanning multiple paragraphs, ENV does NOT
change unless the prose itself crosses a boundary; do not re-evaluate
per paragraph. When ambiguous at any step, KEEP the previous 🧷 value.
The HUD 🧷 is the single source of truth for current ENV. If prose and
🧷 ever disagree, 🧷 wins and the prose is treated as the error.
3. **Tag Index:**
EMOTION:
[Daily Tag Codes]
01_Smile|02_light_smile|03_angry|04_pout|05_hurt|06_disappointed|07_sad|08_fear|09_irritated|10_sulk|11_contempt|12_frustrated|13_overwhelmed|14_unhinged|15_expressionless
PROP:
17_eating_icecream_solo...
4. **Dialogue Rule:**
- Format: `[Character Name]: "Dialogue" (tag: {ENV}{NUM})`
- Narrative paragraphs for actions/thoughts ONLY. `(tag: {ENV}{NUM})`
同じ選択ルールを外部画像の出力に使う
原文では、最後に(tag: A3)のように出力する指定になっています。外部画像のURLを直接出力する場合は、服装・表情の選択とHUDでの状態保持はそのままにし、最後の出力をMarkdownの画像記法に合わせます。
画像を選ぶ流れを見る
場所・時間・睡眠状態 → 服装コードENVを決める
表情・小物 → 番号NUMを決める
ENV + NUM → 対応する画像URLを選ぶ
を出力
たとえば画像をA01.pngのような名前で整理しているなら、A01に対応する実際の画像URLをの中に入れます。英字と数字は自分で決めたルールなので、コード・ファイル名・URLの対応をそろえて管理します。
原文の「Direct URL embedding is strictly forbidden」と(tag:)の出力指定は、この直接出力の方法に合わせて変更します。指示が食い違わないよう、最後のDialogue Ruleにある出力形式も一緒に変えてください。画像を選ぶルールと表示の書式を分けて考えると応用しやすくなります。
原文では例にA3、一覧に03_angryと、番号の表記が混在しています。実際に登録したキーに合わせてA3かA03に統一してください。最初のターンには前のHUDがないので、開始場面に合う🧷の初期値を設定しておくとよいでしょう。
利用できるホスティングサービス
NSFW画像のホスティングが許可されているかどうかで分類しています。外部から画像を表示できることと、NSFW画像をアップロードできることは別に確認します。
以下は、このノートをまとめた本人の利用情報をもとにした草案です(2026-09-13)。すべてのサービスについて最新の公式規約を照合した一覧ではありません。「可能」は、あらゆるNSFWコンテンツを無制限に許可するという意味ではありません。
NSFW画像:可能
| サービス | 利用情報に基づく分類 | メモ |
|---|---|---|
Catbox (catbox.moe) |
可能 | Litterboxとは別。下の一時保管に関する注意を参照 |
Image Chest (imgchest.com) |
可能 | 詳細な許可範囲・外部表示の条件は確認予定 |
IGX (igx.kr) |
可能 — 먹물치킨さんからの情報 | 無料で、登録手続きが必要との情報です。公式ページではアルファテスト実施中・参加申し込みの案内を確認しました(2026-09-17)。無料の利用範囲とNSFWの詳細な許可条件は、公開情報では確認できていません。 |
ImgBB (imgbb.com) |
一部可能 | NSFWでの利用例を確認済み。詳しい許可範囲は確認予定 |
Postimages (postimages.org) |
一部可能 | 許可される内容と禁止される内容の境界は確認予定 |
Imgbox (imgbox.com) |
可能 | 詳細な許可範囲・外部表示の条件は確認予定 |
Pixhost (pixhost.to) |
可能 | 詳細な許可範囲・外部表示の条件は確認予定 |
Freeimage.host (freeimage.host) |
可能・画像の外部露出に注意 | アップロード画像が外部に露出する可能性があるとの利用情報。経路や公開設定は確認予定 |
Upload.cc (upload.cc) |
可能 | 詳細な許可範囲・外部表示の条件は確認予定 |
Imgpile (imgpile.com) |
可能 | 詳細な許可範囲・外部表示の条件は確認予定 |
| Cloudflare R2 | 可能 | 本人の利用例あり。R2オブジェクトストレージについての分類。詳細は下記 |
ITIMG.KR (itimg.kr) |
可能 | 本人が公式の許可を確認。詳細は下記 |
CatboxとLitterboxは区別する
このノートに寄せた利用情報では、litterbox.catbox.moeは一時保管用のサービスです。継続して使うストーリーチャットの画像URLには使わないものとして案内します。正確な保管期間は、公式案内を確認してから追記します。
ITIMG.KR — AI・ストーリーチャット向け画像ホスティング
ITIMG.KRは、문커뮤니티(ムーンコミュニティ)が運営するAIチャット向けの画像ホスティングサービスです。画像URLが短く、有料プランではURLの値に応じて文字や形が変わる動的SVGに対応しています。公開情報の確認日:2026-09-13。公式サービス案内
| プラン | 保存容量 | 月額通常料金 | 現在表示されている月額サブスクリプション料金 |
|---|---|---|---|
| 無料 | 10MB | 無料 | — |
| プロ | 5GB | 11,000 KRW | 8,800 KRW |
| プレミアム | 10GB | 22,000 KRW | 17,600 KRW |
公式料金表には通信量無制限と月額サブスクリプションの20%割引が表示されています。同じページの決済案内には月額11,000ウォンの表記も残っているため、実際の適用額は決済画面で確認してください。公式料金案内
短いURLの構造
以下は作業時の情報として提供したパスの例です。画像を開いて確認したリンクではなく、構造の説明用です。
https://itimg.kr/27/cb1.webp
https://itimg.kr/27/a/tr.png
└ フォルダー / ファイル名
利用時の説明では、27は登録順を使ったユーザーの保存領域の識別子です。フォルダーを作ると、その後ろにフォルダー名とファイル名が続きます。公式紹介でも、数字のパスの後ろにファイル名を付ける短いURLが例として示されています。公式の使用例
決済と海外対応
利用・問い合わせ時の経験では、有料決済には韓国発行のカードが必要です。海外決済は対応予定・時期未定で、対応が始まったら知らせてもらえるという問い合わせへの回答をもとに記載しています。公開ページでは、海外対応の日程や決済手段の詳細条件は確認できていません。無料プランへの登録にも韓国のカードが必須、という意味ではありません。
利用経験からの補足
- 最後に使ったときはWebPへの変換ができることを確認しています。現在の自動変換の条件や、元ファイルが保持されるかどうかは未確認です。
- 提供した情報では、ルナトークの運営者が立ち上げたサービスで、有料利用者向けにSVG作成の支援も受けられます。公式ページで確認できるのは動的SVG機能の有料提供までで、個別の作成支援の範囲・条件は別途確認が必要です。
NSFWの分類について
NSFW画像のホスティングは可能です。 本人が公式の許可を確認したという情報を反映しています(2026-09-13)。アップロードに関する細かな制限は利用規約も参照してください。
Cloudflare R2 — アップロードしてURLで表示する
実際に使っている外部画像の保存先です。ストーリーチャットの開始メッセージで内部の画像をうまく呼び出せないことがあり、その際にR2へアップロードした画像のURLを使っています。NSFWの分類は利用情報に基づくもので、以下の公式文書での確認は料金と設定に関するものです。
無料で使える範囲
2026-09-13に確認した公式文書では、Standardストレージに毎月10 GB-monthの無料枠があります。おおよそ10GBを1か月間保存する量に相当する単位です。Class A操作は月100万回、Class B操作は月1,000万回まで無料枠に含まれ、インターネットへの転送量には料金がかかりません。保存量や操作回数が無料枠を超えると課金される場合があります。Infrequent Accessにはこの無料枠は適用されません。R2公式料金
使い始めるときに決済カードの登録・認証を行いました。実際に使う中で、体感できる遅延は経験していません。
公開URLで試す流れ
- R2でバケット(Bucket、ファイルを入れる保存領域)を作ります。
- 使いたい画像をアップロードします。
- バケットの
Settings→Public Development URL→Enableへ進みます。 - 公開アクセスの案内を確認して有効にすると、
r2.devのURLが発行されます。これによりバケット内のファイルがインターネットからアクセス可能になります。 - そのURLの後ろに画像のパスとファイル名を付けて使います。
https://pub-example-id.r2.dev/folder/A01.webp
上記は書式の例です。実際のバケットURLと、アップロードしたファイルのパスに置き換えてください。
r2.devは公式には開発・テスト用で、リクエストのレート制限があるURLです。本番運用では独自ドメインの接続が案内されています。独自ドメインは好みのURLにするだけでなく、キャッシュなどの機能を使う方法でもあります。独自ドメインの接続は、私自身はまだ試していません。公開バケットとドメインの案内
CORS Policyを設定するのはどんなとき?
画像を表示するだけの場合と、Webページのコードが別のオリジンにあるファイルを読み取ったり加工したりする場合を分けて考えます。単純な画像表示では通常CORSの追加設定は不要ですが、画像でもJavaScriptで読み取ったり、キャンバスからピクセルを取り出したりする場合は必要になることがあります。「画像かどうか」ではなく、どう取得して使うかが基準です。必要な場合は、バケットのSettings → CORS Policyで、利用するサイトとリクエストの方法に合わせて設定します。R2のCORS案内
NSFW画像:不可
| サービス | 利用情報に基づく分類 | 確認事項 |
|---|---|---|
| Imgur | 不可 | 最新の公式規約における禁止範囲は確認予定 |
| GitHub | 不可 | 提供された利用情報に基づき、NSFW画像の保存先からは除外 |
NSFW画像:不明
現在この分類に登録したサービスはありません。許可範囲を確認できていないサービスは、ここに分けて記録します。
利用環境の観察 — 日本で見かけた組み合わせ
私が見かけた日本の利用例では、Catbox+Twitter(X)+個人サーバーという組み合わせがよくありました。利用動向全体を調べた統計ではなく、個人的な観察メモです。Twitter(X)を長期的な外部画像ホスティング先として勧めたり、安定性を保証したりするものではありません。個人サーバーも、実際の保管方法や運用条件によって異なります。