New: Earn 20% as an AgentAlley affiliate. Share your link and earn on every sale you refer. Join now New: Earn 20% as an affiliate. Join now

Prompting patterns for Ideogram 4 text-to-image

Ideogram 4 Skill

by digitalsamba · MIT license · ★ 2,114 on GitHub · updated Sep 21

Ideogram 4 Skill cover

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)
Claude Codenpx skills add digitalsamba/claude-code-video-toolkit --skill ideogram4 -g -a claude-code
Claude Code (manual)mkdir -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/ideogram4
Windows (PowerShell)New-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" -Force
Claude.ai / desktopDownload the ZIP and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • SKILL.md5.3 KB
  • examples.md7.9 KB
  • prompting.md6.5 KB
Read the files here
digitalsamba/225c80a3 files
Shared references3SKILL.md reads these from elsewhere in the repo. Not in the ZIP.Get them on GitHub ↗
SKILL.md
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 as json_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_KEY in .env (key from developer.ideogram.ai). --json posts the caption as the API's json_prompt field (no server-side magic prompt — Claude is the expander); --prompt posts text_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 rules
  • examples.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---
2name: ideogram4
3description: 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 
8Text-to-image generation with **Ideogram 4** (9.3B, open-weight, released June 2026). Its
9superpower 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,
11and multi-line text — plus **exact color-palette and bounding-box control**.
12 
13That advantage is **locked behind a structured JSON caption format**. A plain-text prompt gets
14you FLUX-level results and misses the entire point of using this model. This skill teaches
15Claude to act as the "magic prompt" expander — turning a user's casual request into the JSON
16caption 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 
26Reach 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 
33Use **FLUX.2** instead when: the image has no critical text, you need commercial-licensed output,
34or you just want a fast atmospheric background. FLUX takes plain natural-language prompts; Ideogram
35wants 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
41than Ideogram's free hosted magic-prompt (their own docs note the shipped one "is not the same
42used in production"), so build the caption yourself using this skill rather than passing raw text.
43 
44Minimal valid caption:
45 
46```json
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 
50Full schema, strict key-ordering rules, and the bbox coordinate system are in **`prompting.md`**.
51Worked 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```bash
60# Hand-authored JSON caption (the recommended path for text/layout) — Claude writes caption.json
61uv run tools/ideogram4.py --json caption.json --output title.png
62 
63# Caption from stdin (Claude can pipe it directly)
64cat 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)
67uv 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)
70uv run tools/ideogram4.py --json caption.json --brand digital-samba --output cta.png
71 
72# Quality tier + resolution
73uv 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 
83Ideogram 4's niche in the toolkit is **slides and thumbnails with baked-in text**, where FLUX and
84LTX-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 
93Then feed the still into Remotion (`<OffthreadVideo>`/`Img`) or animate it with `tools/ltx2.py --input`.
94 
View all files on GitHub →

Details

Updated
Sep 21, 2026
License
MIT
Stars on the repo
★ 2,114
Checked
Source
digitalsamba/claude-code-video-toolkit ↗
Creator
digitalsamba · 11 listings
View creator

Similar skills

See all →
SkillMake Japanese TV-anime style videos with codeAnime celedenfunf/reelmimic · by edenfunfMake Japanese TV-anime style videos (MP4) with code — cel-shaded characters with tapered line art, big detailed eyes, hair clumps with a specular band, comedic anime reactions (sweat drop, anger vein, sparkle eyes, ≥< eyes, dot eyes, tears), painted skies with cumulus clouds, school/street/classroom/rooftop sets with time-of-day palettes, speed/focus lines, impact frames, dramatic zooms, smears, sakura petals and anime subtitles (CJK). Canvas 2D rendered frame by frame in headless Chrome, encoded with ffmpeg. Use when a reference video or brief calls for anime / 動畫 / 日系動畫 / アニメ / cel-shaded / slice-of-life / school romance / shōnen-style reactions, or when the video-clone router picks the anime-cel style. 2D only; characters are original (Hina, Ren) or new ones built on the same rig.★ 3.6k GitHub starsSkillDirect and produce a short film made entirely in codeLemo opuscarlemomo-ai/lemo-opuscar · by lemomo-aiDirect and produce a short film made entirely in code, in one of the styles of the Lemo-Opuscar library (e.g. Impasto Oil Painting 油画厚涂, Watercolor Brush 水彩笔刷, Ukiyo-e 浮世绘, Satellite Briefing 卫星简报, Exploded Teardown 产品拆解, Microscope Story 显微叙事). Use when the user asks for a video, film, short, promo, explainer or animation (视频、短片、动画、宣传片) in a named style, including data, science and product explainers built from real material such as satellite imagery, laser scans, CAD files or archive scans (数据解说、科普、产品拆解); when they want a film made about their own topic and haven't chosen a style (help them choose); or when they ask which film styles there are. Not for editing or converting existing video files.★ 3k GitHub starsSkillGenerate Ian-style Xiaohei illustrations for articles, postsdzhng/skills · by dzhngGenerate Ian-style Xiaohei illustrations for articles, posts, blogs, Notion documents, workflows, methods, processes, structures, states, metaphors, and opinions. Use when the user asks for weird, hand-drawn, Xiaohei, article, editorial, body illustrations, illustration ideas, shot lists, title removal, image edits, or image regeneration. By default, all image text and annotations are English, even when the source article is Chinese; only use another language when the user explicitly asks.★ 1.3k GitHub starsSkillCreating game art through Scenario MCP: spritesScenario game assetsscenario-labs/skills · by scenario-labsUse when creating game art through Scenario MCP: sprites, sprite sheets, icons, props, loot, tilesets and autotile terrain transitions, seamless tiles, isometric buildings, top-down maps, pixel art, UI buttons and panels, parallax background layers or depth planes for side-scrollers, and character or concept art; or when assets need transparent backgrounds, background removal, style-consistent variation batches, upscaling, pixel-grid cleanup, or PNG export for Unity, Godot, or Unreal.★ 854 GitHub starsSkillTrain custom LoRAs with ostris AI-ToolkitAI-Toolkit LoRA Trainer (WAN 2.2 & Z-Image)artokun/comfyui-mcp · by artokunTrain custom LoRAs with ostris AI-Toolkit. Covers WAN 2.2/2.1 (people, styles, video motion) and Z-Image (Turbo & Base, low-VRAM image LoRAs). Use when the user wants to train a WAN or Z-Image LoRA; covers local + RunPod setup, dataset prep, key params, and using the result in a ComfyUI workflow.★ 759 GitHub starsSkillAnime/illustration text-to-imageANIMA 1.0 (Anima Base Ultra) Text-to-Image Workflowsartokun/comfyui-mcp · by artokunAnime/illustration text-to-image (ANIMA 1.0, ~2B Cosmos DiT). Use for anime, manga, illustrated characters; accepts Danbooru tags + natural language; runs/trains on <6GB VRAM; includes anime inpainting via Anima-LLLite ControlNet★ 759 GitHub stars

More from digitalsamba

SkillAI music generation with ACE-Step 1.5ACE-Step 1.5 Music Generationdigitalsamba/claude-code-video-toolkit · by digitalsambaAI music generation with ACE-Step 1.5 — background music, vocal tracks, covers, stem extraction, audio repainting, and continuation for video production. Use when generating music, soundtracks, jingles, or working with audio stems. Triggers include background music, soundtrack, jingle, music generation, stem extraction, cover, style transfer, repaint, continuation, or musical composition tasks.★ 2.1k GitHub starsSkillGenerate AI voiceovers, sound effectsElevenLabs Audio Generationdigitalsamba/claude-code-video-toolkit · by digitalsambaGenerate AI voiceovers, sound effects, and music using ElevenLabs APIs. Use when creating audio content for videos, podcasts, or games. Triggers include generating voiceovers, narration, dialogue, sound effects from descriptions, background music, soundtrack generation, voice cloning, or any audio synthesis task.★ 2.1k GitHub starsSkillVideo and audio processing with FFmpegFFmpeg for Video Productiondigitalsamba/claude-code-video-toolkit · by digitalsambaVideo and audio processing with FFmpeg. Use for format conversion, resizing, compression, audio extraction, and preparing assets for Remotion. Triggers include converting GIF to MP4, resizing video, extracting audio, compressing files, or any media transformation task.★ 2.1k GitHub starsSkillAI video generation with LTX-2.3 22BLTX-2.3 Video Generationdigitalsamba/claude-code-video-toolkit · by digitalsambaAI video generation with LTX-2.3 22B — text-to-video, image-to-video clips for video production. Use when generating video clips, animating images, creating b-roll, animated backgrounds, or motion content. Triggers include video generation, animate image, b-roll, motion, video clip, text-to-video, image-to-video.★ 2.1k GitHub starsSkillPython video composition with moviepy 2.xmoviepy for Video Productiondigitalsamba/claude-code-video-toolkit · by digitalsambaPython video composition with moviepy 2.x — overlaying deterministic text on AI-generated video (LTX-2, SadTalker), compositing clips, single-file build.py video projects. Use when adding labels/captions/lower-thirds to LTX-2 or SadTalker outputs, building short ad-style spots in pure Python without Remotion, or doing programmatic video composition. Triggers include text overlay on video, label LTX-2 clip, caption SadTalker output, lower third, build.py video, moviepy, Python video composition, sub-30s ad spot.★ 2.1k GitHub starsSkillRecord browser interactions as video using PlaywrightPlaywright Video Recordingdigitalsamba/claude-code-video-toolkit · by digitalsambaRecord browser interactions as video using Playwright. Use for capturing demo videos, app walkthroughs, and UI flows for Remotion videos. Triggers include recording a demo, capturing browser video, screen recording a website, or creating walkthrough footage.★ 2.1k GitHub stars