Files
2nd/10_Wiki/Topics/AI_and_ML/인-이미지 텍스트(In-Image Text).md
T
Antigravity Agent f8b21af4be Wiki cleanup: error-doc removal, dedup merge, link normalization
10_Wiki/Topics 대규모 정리:
- 오류 캡처/미완성 stub 문서 227개 제거
- 교차폴더 중복 43클러스터 병합 (63파일 → redirect)
- 링크명 정규화: 깨진 링크 수정·redirect 직결·개념 매핑 ~2,400건
- 카테고리 MOC 6개 신규 생성
- Graph 섹션 미해결 related-keyword 링크 10,058건 제거

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 23:52:15 +09:00

7.4 KiB

id, title, category, status, canonical_id, aliases, duplicate_of, source_trust_level, confidence_score, verification_status, tags, raw_sources, last_reinforced, github_commit, tech_stack
id title category status canonical_id aliases duplicate_of source_trust_level confidence_score verification_status tags raw_sources last_reinforced github_commit tech_stack
wiki-2026-0508-인-이미지-텍스트-in-image-text 인-이미지 텍스트(In-Image Text) 10_Wiki/Topics verified self
In-Image Text
Text Rendering
Typography in AI Images
Glyph Rendering
none A 0.9 applied
image-generation
text-rendering
typography
flux
dall-e
stable-diffusion
2026-05-10 pending
language framework
Python Diffusers/FLUX

인-이미지 텍스트(In-Image Text)

매 한 줄

"매 SD 1.5 (2022) 의 의 garbled gibberish 의 의 의, 매 FLUX.1 / Imagen 3 / GPT-image-1 (2024-2026) 의 의 word-level accurate text rendering 의 가능.". 매 image generation model 의 의 long-standing weakness 의 typography rendering — diffusion model 의 의 의 의 의 의 character-level glyph 의 의 의 의 의. 매 2026 의 의 T5 text encoder + flow matching (FLUX) + dedicated text rendering datasets 의 의 logo / poster / UI mockup / meme 의 의 의 의 production-ready.

매 핵심

매 모델 의 의 text rendering capability (2026)

  • FLUX.1 dev/pro (BFL): 의 — short text (< 10 words), brand 의 의.
  • Imagen 3 (Google): 의 의 — long text 의 high accuracy.
  • GPT-image-1 (OpenAI): 의 — paragraph-level, multilingual.
  • SD 3.5 (Stability): 의 — short text 의 의 의 (open-weights).
  • Ideogram 2.0: text-specialized — 의 typography 의 의.
  • Recraft V3: SOTA for text rendering 의 design (poster/UI).

매 의 어떤 model 의 의 의

  • T5-XXL text encoder: 의 character-aware (Imagen, FLUX 의 의).
  • Glyph-aware data augmentation: synthetic text overlay training data.
  • Flow matching: 의 sharp glyph edge 의 의 (FLUX, SD3).
  • Specialized fine-tune: Ideogram, Recraft 의 typography 의 의 fine-tune.

매 응용

  1. Logo / brand mockup.
  2. Poster / advertisement design.
  3. Social media graphic (meme, infographic).
  4. UI mockup with realistic copy.
  5. Book cover, album cover.

💻 패턴

FLUX.1 의 의 short text rendering

from diffusers import FluxPipeline
import torch

pipe = FluxPipeline.from_pretrained(
    "black-forest-labs/FLUX.1-dev",
    torch_dtype=torch.bfloat16,
).to("cuda")

# 매 GOOD: quoted, short, common word
prompt = 'A coffee shop sign that reads "MORNING BREW", warm sunlight, photo'
image = pipe(prompt, guidance_scale=3.5, num_inference_steps=28).images[0]

GPT-image-1 (OpenAI) — long text + edit

from openai import OpenAI
client = OpenAI()

result = client.images.generate(
    model="gpt-image-1",
    prompt="""
    A vintage poster with the title "ANTIGRAVITY" at the top in bold sans-serif,
    subtitle "A Journey Beyond Gravity" below, and tagline at the bottom:
    "In Theaters December 2026". Minimalist, retro-futurist style.
    """,
    size="1024x1536",
)
image_url = result.data[0].url

Ideogram API (text-specialized)

import requests

response = requests.post(
    "https://api.ideogram.ai/generate",
    headers={"Api-Key": IDEOGRAM_KEY},
    json={
        "image_request": {
            "prompt": 'Restaurant menu with "TODAY\'S SPECIAL: Truffle Risotto $24"',
            "aspect_ratio": "ASPECT_3_4",
            "model": "V_2_TURBO",
            "magic_prompt_option": "AUTO",
        }
    },
)

Post-hoc text overlay (의 reliable fallback)

from PIL import Image, ImageDraw, ImageFont

# 매 model 의 의 garbage text 의 의 의 → blank space 의 의 의 의 PIL 의 overlay
base = Image.open("generated_poster.png")
draw = ImageDraw.Draw(base)
font = ImageFont.truetype("Inter-Bold.ttf", 72)
draw.text((100, 200), "ANTIGRAVITY", fill="white", font=font, stroke_width=3, stroke_fill="black")
base.save("final.png")

Inpainting 의 text fix (FLUX Fill)

from diffusers import FluxFillPipeline

pipe = FluxFillPipeline.from_pretrained(
    "black-forest-labs/FLUX.1-Fill-dev",
    torch_dtype=torch.bfloat16,
).to("cuda")

# 매 garbled text 의 의 의 mask 의 의 의 redraw
result = pipe(
    image=base_image,
    mask_image=text_mask,  # white where text should go
    prompt='clear bold text "WELCOME"',
    num_inference_steps=30,
    guidance_scale=30,  # 의 high — text 의 의 의
).images[0]

Glyph ControlNet (open-source approach)

# 매 AnyText / GlyphControl 의 의 의 의 의 character-level control
from diffusers import StableDiffusionControlNetPipeline, ControlNetModel

controlnet = ControlNetModel.from_pretrained(
    "AIGCDesignGroup/AnyText",
    torch_dtype=torch.float16,
)
pipe = StableDiffusionControlNetPipeline.from_pretrained(
    "runwayml/stable-diffusion-v1-5",
    controlnet=controlnet,
    torch_dtype=torch.float16,
).to("cuda")

# 매 glyph mask 의 의 의 image 의 conditioning
glyph_image = render_text_to_image("HELLO WORLD", font="Inter-Bold")
result = pipe(
    prompt="neon sign in cyberpunk alley",
    image=glyph_image,
    controlnet_conditioning_scale=1.0,
).images[0]

Multilingual text (CJK / Arabic)

# 매 FLUX / SD 의 Latin alphabet 의 의 의 — CJK 의 의 의
# 매 Imagen 3 / GPT-image-1 의 multilingual 의 의 better
prompt = '한국어 간판 "안녕하세요" cafe sign, neon, night photo'
# → GPT-image-1 의 의 가능, FLUX 의 의 garbled 의 가능

Prompting 의 의

GOOD prompts:
- 'sign reads "OPEN"'
- 'a book titled "The Pragmatic Programmer"'
- 'graffiti spelling "HOPE" on a brick wall'

BAD prompts (likely garbled):
- 'a paragraph of legal text'         # 의 too long
- 'random foreign language text'      # 의 ambiguous
- 'small text in the corner'          # 의 small = harder

매 결정 기준

상황 Approach
Short logo / sign (1-3 words) FLUX.1 dev/pro
Poster / multi-line text Imagen 3 / GPT-image-1 / Recraft
Typography-heavy (menu, infographic) Ideogram 2.0 / Recraft V3
Multilingual (CJK, RTL) GPT-image-1 / Imagen 3
Open-weights + custom text AnyText / GlyphControl ControlNet
Reliable production text Post-hoc PIL overlay (의 deterministic)
Fix garbled text in existing image FLUX Fill inpaint OR overlay

기본값: FLUX.1 dev 의 의 (short text), GPT-image-1 의 의 의 (long/multilingual). 매 mission-critical 의 의 PIL overlay 의 의 의.

🔗 Graph

🤖 LLM 활용

언제: prompt scaffolding for text rendering, model selection 의 의 word count 의 의, fallback strategy proposal. 언제 X: visual quality judgement (의 human eval), brand-critical typography (의 design tool 의 의 의 final).

안티패턴

  • Long paragraph in prompt: 의 expect verbatim — 의 5-10 word 의 의.
  • Small text expected: 매 < 32px equivalent 의 의 의 garbled.
  • Uncommon font in prompt: 매 font name 의 의 의 의 의 의 의.
  • No quotes around target text: 의 model 의 의 의 의 의 의 의 의 의.
  • Trust 의 first generation: 의 retry 3-5x — 의 cherry-pick.

🧪 검증 / 중복

  • Verified (Black Forest Labs FLUX paper, Google Imagen 3 report, OpenAI gpt-image-1 system card, Ideogram blog, AnyText paper).
  • 신뢰도 A.

🕓 Changelog

날짜 변경
2026-05-08 Phase 1
2026-05-10 Manual cleanup — in-image text rendering (FLUX, Imagen, Ideogram)