Prompting patterns for Ideogram 4 text-to-image
Ideogram 4 Skill

Prompting patterns for Ideogram 4 text-to-image — best-in-class in-image text rendering and exact color/layout control via structured JSON captions. Use when generating images that need legible on-image text (title cards, thumbnails,…
--- name: ideogram4 description: Prompting patterns for Ideogram 4 text-to-image — best-in-class in-image text rendering and exact color/layout control via structured JSON captions. Use when generating images that need legible on-image text (title cards, thumbnails, logos, signage, CTAs), precise brand colors, or controlled spatial layout. Triggers include title slide image, thumbnail with text, on-image text, legible text in image, brand color palette image, bounding-box layout, Ideogram. --- # Ideogram 4 Skill Text-to-image generation with **Ideogram 4** (9.3B, open-weight, released June 2026). Its superpower is **best-in-class in-image text rendering** — it beats much larger models (FLUX.2 dev 32B, Qwen-Image 20B, Hunyuan 80B) at rendering legible signage, logos, captions, and multi-line text — plus **exact color-palette and bounding-box control**. That advantage is **locked behind a structured JSON caption format**. A plain-text prompt gets you FLUX-level results and misses the entire point of using this model. This skill teaches Claude to act as the "magic prompt" expander — turning a user's casual request into the JSON caption Ideogram 4 was trained on. > **Backend:** The toolkit uses Ideogram's **hosted v4 API** (not self-hosted weights). The API
Overview
Text-to-image generation with Ideogram 4 (9.3B, open-weight, released June 2026). Its superpower is best-in-class in-image text rendering — it beats much larger models (FLUX.2 dev 32B, Qwen-Image 20B, Hunyuan 80B) at rendering legible signage, logos, captions, and multi-line text — plus exact color-palette and bounding-box control.
Manual install (npx, ZIP)
npx skills add digitalsamba/claude-code-video-toolkit --skill ideogram4 -g -a claude-codemkdir -p ~/.claude/skills && curl -sL https://codeload.github.com/digitalsamba/claude-code-video-toolkit/tar.gz/225c80a1c3a5 \
| tar -xz -C ~/.claude/skills --strip-components=3 claude-code-video-toolkit-225c80a1c3a5/.claude/skills/ideogram4New-Item -ItemType Directory -Force "$HOME\.claude\skills" | Out-Null; Invoke-WebRequest "https://m.agentalley.io/zip/7fd87af0d9b3f9f83ccf/ideogram4.zip" -OutFile "$env:TEMP\ideogram4.zip"; Expand-Archive "$env:TEMP\ideogram4.zip" -DestinationPath "$HOME\.claude\skills" -ForceConnects with Agent Alley MCP · agentalley.io/mcp
Files included
SKILL.md5.3 KBexamples.md7.9 KBprompting.md6.5 KB
Read the files here
digitalsamba/
Shared references3SKILL.md reads these from elsewhere in the repo. Not in the ZIP.
Get them on GitHub ↗Show the full text94 lines
Ideogram 4 Skill
Text-to-image generation with Ideogram 4 (9.3B, open-weight, released June 2026). Its superpower is best-in-class in-image text rendering — it beats much larger models (FLUX.2 dev 32B, Qwen-Image 20B, Hunyuan 80B) at rendering legible signage, logos, captions, and multi-line text — plus exact color-palette and bounding-box control.
That advantage is locked behind a structured JSON caption format. A plain-text prompt gets you FLUX-level results and misses the entire point of using this model. This skill teaches Claude to act as the "magic prompt" expander — turning a user's casual request into the JSON caption Ideogram 4 was trained on.
Backend: The toolkit uses Ideogram's hosted v4 API (not self-hosted weights). The API accepts a structured
json_prompt, so everything this skill teaches applies directly — Claude builds the caption, the tool posts it asjson_prompt. Paid API plans include a commercial license, which the self-hostable weights (non-commercial) do not — that's why we use the API. Cost is ~$0.03/image (turbo) to ~$0.09/image (quality).
When to Use This Skill
Reach for Ideogram 4 (over FLUX.2) when the image needs:
- Legible on-image text — title cards, thumbnails, lower-thirds backgrounds, signage, logos, quote cards, CTAs with a headline baked in
- Exact brand colors — hex color-palette conditioning, per-element
- Controlled layout — bounding boxes place text/objects in specific regions
- Multilingual text in the image
Use FLUX.2 instead when: the image has no critical text, you need commercial-licensed output,
or you just want a fast atmospheric background. FLUX takes plain natural-language prompts; Ideogram
wants JSON. See tools/flux2.py.
The One Thing to Get Right
Always emit a structured JSON caption, not a plain sentence. The model is trained exclusively on JSON captions that name every element explicitly. Claude is a better expander than Ideogram's free hosted magic-prompt (their own docs note the shipped one "is not the same used in production"), so build the caption yourself using this skill rather than passing raw text.
Minimal valid caption:
{"high_level_description":"A sailboat at sunset on calm water.","style_description":{"aesthetics":"serene, warm, golden hour","lighting":"golden hour backlighting","photo":"wide angle, f/8","medium":"photograph","color_palette":["#FF6B35","#F7C59F","#004E89"]},"compositional_deconstruction":{"background":"Calm ocean at low horizon with orange-pink sky.","elements":[{"type":"obj","desc":"White triangular sail silhouetted against the setting sun."}]}}
Full schema, strict key-ordering rules, and the bbox coordinate system are in prompting.md.
Worked title-card / thumbnail / quote-card examples are in examples.md.
Quick Reference — tools/ideogram4.py
Thin wrapper over Ideogram's hosted v4 API. Needs
IDEOGRAM_API_KEYin.env(key from developer.ideogram.ai).--jsonposts the caption as the API'sjson_promptfield (no server-side magic prompt — Claude is the expander);--promptpoststext_prompt.
# Hand-authored JSON caption (the recommended path for text/layout) — Claude writes caption.json
uv run tools/ideogram4.py --json caption.json --output title.png
# Caption from stdin (Claude can pipe it directly)
cat caption.json | uv run tools/ideogram4.py --json - --output title.png
# Plain prompt — Ideogram's server-side magic prompt expands it (weaker; prefer --json)
uv run tools/ideogram4.py --prompt "Title card: 'AI ENGINEERING REVIEW' bold white on dark" --output title.png
# Inject brand hex colors into the caption's palette (JSON mode)
uv run tools/ideogram4.py --json caption.json --brand digital-samba --output cta.png
# Quality tier + resolution
uv run tools/ideogram4.py --json caption.json --speed QUALITY --resolution 2048x2048 --output slide.png
Key Files
prompting.md— full JSON schema, strict key ordering, bbox coordinate system, palette rulesexamples.md— worked captions for title cards, thumbnails, quote cards, brand CTAs
Video Production Fit
Ideogram 4's niche in the toolkit is slides and thumbnails with baked-in text, where FLUX and LTX-2 fail (both render garbled text). Natural pairings:
| Use case | Why Ideogram 4 |
|---|---|
| Title-card / CTA background with headline text | Legible text + exact brand hex colors in one pass |
| YouTube/social thumbnail with a punchy phrase | Big readable text is its strongest suit |
| Quote card / stat card | Multi-line text + layout control via bboxes |
| Signage/logos inside a product-demo scene | In-image text other models can't render |
Then feed the still into Remotion (<OffthreadVideo>/Img) or animate it with tools/ltx2.py --input.
| 1 | |
| 2 | name ideogram4 |
| 3 | description Prompting patterns for Ideogram 4 text-to-image — best-in-class in-image text rendering and exact color/layout control via structured JSON captions. Use when generating images that need legible on-image text (title cards, thumbnails, logos, signage, CTAs), precise brand colors, or controlled spatial layout. Triggers include title slide image, thumbnail with text, on-image text, legible text in image, brand color palette image, bounding-box layout, Ideogram. |
| 4 | |
| 5 | |
| 6 | # Ideogram 4 Skill |
| 7 | |
| 8 | Text-to-image generation with **Ideogram 4** (9.3B, open-weight, released June 2026). Its |
| 9 | superpower is **best-in-class in-image text rendering** — it beats much larger models |
| 10 | (FLUX.2 dev 32B, Qwen-Image 20B, Hunyuan 80B) at rendering legible signage, logos, captions, |
| 11 | and multi-line text — plus **exact color-palette and bounding-box control**. |
| 12 | |
| 13 | That advantage is **locked behind a structured JSON caption format**. A plain-text prompt gets |
| 14 | you FLUX-level results and misses the entire point of using this model. This skill teaches |
| 15 | Claude to act as the "magic prompt" expander — turning a user's casual request into the JSON |
| 16 | caption Ideogram 4 was trained on. |
| 17 | |
| 18 | > **Backend:** The toolkit uses Ideogram's **hosted v4 API** (not self-hosted weights). The API |
| 19 | > accepts a structured `json_prompt`, so everything this skill teaches applies directly — Claude |
| 20 | > builds the caption, the tool posts it as `json_prompt`. Paid API plans include a **commercial |
| 21 | > license**, which the self-hostable weights (non-commercial) do not — that's why we use the API. |
| 22 | > Cost is ~$0.03/image (turbo) to ~$0.09/image (quality). |
| 23 | |
| 24 | ## When to Use This Skill |
| 25 | |
| 26 | Reach for Ideogram 4 (over FLUX.2) when the image needs: |
| 27 | **Legible on-image text** — title cards, thumbnails, lower-thirds backgrounds, signage, logos, |
| 28 | quote cards, CTAs with a headline baked in |
| 29 | **Exact brand colors** — hex color-palette conditioning, per-element |
| 30 | **Controlled layout** — bounding boxes place text/objects in specific regions |
| 31 | **Multilingual text** in the image |
| 32 | |
| 33 | Use **FLUX.2** instead when: the image has no critical text, you need commercial-licensed output, |
| 34 | or you just want a fast atmospheric background. FLUX takes plain natural-language prompts; Ideogram |
| 35 | wants JSON. See `tools/flux2.py`. |
| 36 | |
| 37 | ## The One Thing to Get Right |
| 38 | |
| 39 | **Always emit a structured JSON caption, not a plain sentence.** The model is trained |
| 40 | *exclusively* on JSON captions that name every element explicitly. Claude is a better expander |
| 41 | than Ideogram's free hosted magic-prompt (their own docs note the shipped one "is not the same |
| 42 | used in production"), so build the caption yourself using this skill rather than passing raw text. |
| 43 | |
| 44 | Minimal valid caption: |
| 45 | |
| 46 | |
| 47 | {"high_level_description":"A sailboat at sunset on calm water.","style_description":{"aesthetics":"serene, warm, golden hour","lighting":"golden hour backlighting","photo":"wide angle, f/8","medium":"photograph","color_palette":["#FF6B35","#F7C59F","#004E89"]},"compositional_deconstruction":{"background":"Calm ocean at low horizon with orange-pink sky.","elements":[{"type":"obj","desc":"White triangular sail silhouetted against the setting sun."}]}} |
| 48 | |
| 49 | |
| 50 | Full schema, strict key-ordering rules, and the bbox coordinate system are in **`prompting.md`**. |
| 51 | Worked title-card / thumbnail / quote-card examples are in **`examples.md`**. |
| 52 | |
| 53 | ## Quick Reference — `tools/ideogram4.py` |
| 54 | |
| 55 | > Thin wrapper over Ideogram's hosted v4 API. Needs `IDEOGRAM_API_KEY` in `.env` |
| 56 | > (key from developer.ideogram.ai). `--json` posts the caption as the API's `json_prompt` |
| 57 | > field (no server-side magic prompt — Claude is the expander); `--prompt` posts `text_prompt`. |
| 58 | |
| 59 | |
| 60 | # Hand-authored JSON caption (the recommended path for text/layout) — Claude writes caption.json |
| 61 | uv run tools/ideogram4.py --json caption.json --output title.png |
| 62 | |
| 63 | # Caption from stdin (Claude can pipe it directly) |
| 64 | cat caption.json | uv run tools/ideogram4.py --json - --output title.png |
| 65 | |
| 66 | # Plain prompt — Ideogram's server-side magic prompt expands it (weaker; prefer --json) |
| 67 | uv run tools/ideogram4.py --prompt "Title card: 'AI ENGINEERING REVIEW' bold white on dark" --output title.png |
| 68 | |
| 69 | # Inject brand hex colors into the caption's palette (JSON mode) |
| 70 | uv run tools/ideogram4.py --json caption.json --brand digital-samba --output cta.png |
| 71 | |
| 72 | # Quality tier + resolution |
| 73 | uv run tools/ideogram4.py --json caption.json --speed QUALITY --resolution 2048x2048 --output slide.png |
| 74 | |
| 75 | |
| 76 | ## Key Files |
| 77 | |
| 78 | `prompting.md` — full JSON schema, strict key ordering, bbox coordinate system, palette rules |
| 79 | `examples.md` — worked captions for title cards, thumbnails, quote cards, brand CTAs |
| 80 | |
| 81 | ## Video Production Fit |
| 82 | |
| 83 | Ideogram 4's niche in the toolkit is **slides and thumbnails with baked-in text**, where FLUX and |
| 84 | LTX-2 fail (both render garbled text). Natural pairings: |
| 85 | |
| 86 | | Use case | Why Ideogram 4 | |
| 87 | |----------|----------------| |
| 88 | | Title-card / CTA background **with headline text** | Legible text + exact brand hex colors in one pass | |
| 89 | | YouTube/social **thumbnail with a punchy phrase** | Big readable text is its strongest suit | |
| 90 | | Quote card / stat card | Multi-line text + layout control via bboxes | |
| 91 | | Signage/logos inside a product-demo scene | In-image text other models can't render | |
| 92 | |
| 93 | Then feed the still into Remotion (`<OffthreadVideo>`/`Img`) or animate it with `tools/ltx2.py --input`. |
| 94 |
Details
- Updated
- Sep 21, 2026
- License
- MIT
- Stars on the repo
- ★ 2,114
- Checked
- Source
- digitalsamba/claude-code-video-toolkit ↗
- Creator
- digitalsamba · 11 listings
Similar skills
See all →
SkillMake Japanese TV-anime style videos with codeAnime cel
SkillDirect and produce a short film made entirely in codeLemo opuscar
SkillGenerate Ian-style Xiaohei illustrations for articles, posts
SkillCreating game art through Scenario MCP: spritesScenario game assets
SkillTrain custom LoRAs with ostris AI-ToolkitAI-Toolkit LoRA Trainer (WAN 2.2 & Z-Image)
SkillAnime/illustration text-to-imageANIMA 1.0 (Anima Base Ultra) Text-to-Image WorkflowsMore from digitalsamba
SkillAI music generation with ACE-Step 1.5ACE-Step 1.5 Music Generation
SkillGenerate AI voiceovers, sound effectsElevenLabs Audio Generation
SkillVideo and audio processing with FFmpegFFmpeg for Video Production
SkillAI video generation with LTX-2.3 22BLTX-2.3 Video Generation
SkillPython video composition with moviepy 2.xmoviepy for Video Production
SkillRecord browser interactions as video using PlaywrightPlaywright Video Recording