acestep
AI music generation with ACE-Step 1.5 — background music, vocal tracks, covers, stem extraction, audio repainting, and…
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,
Claude Code
$ npx -y skills add digitalsamba/claude-code-video-toolkit --skill ideogram4 --agent claude-code
Codex
$ npx skills add digitalsamba/claude-code-video-toolkit --skill ideogram4 -a codex -y
Cursor
$ npx skills add digitalsamba/claude-code-video-toolkit --skill ideogram4 -a cursor -y
Gemini CLI
$ npx skills add digitalsamba/claude-code-video-toolkit --skill ideogram4 -a gemini-cli -y
GitHub Copilot
$ npx skills add digitalsamba/claude-code-video-toolkit --skill ideogram4 -a github-copilot -y
OpenCode
$ npx skills add digitalsamba/claude-code-video-toolkit --skill ideogram4 -a opencode -y
Windsurf
$ npx skills add digitalsamba/claude-code-video-toolkit --skill ideogram4 -a windsurf -y
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.
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.10/image (quality).
Reach for Ideogram 4 (over FLUX.2) when the image needs:
quote cards, CTAs with a headline baked in
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`.
**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`**.
> 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
`--model 4.5` sends the same flags to Ideogram 4.5 on the v2 API (`POST /v2/image/generate/ideogram-4-5`, multipart like the v1 call). It has been run live: **JSON captions render near-perfect text; plain prompts add garbled filler text**, so always send a JSON caption to 4.5. Ideogram 4 stays the default because 4.5 sizes must be multiples of 32, which rules out exact YouTube 1280x720 (`/thumbnail` uses 4.0 for that).
uv run tools/ideogram4.py --model 4.5 --json caption.json --speed QUALITY --resolution 1440x2560 --output card.png
compact JSON. 4.5 reads the Ideogram 4 caption format, and a valid caption skips server-side magic prompt. `--prompt` text is expanded by magic prompt, as on v1.
Ideogram 4, and FLASH, which has no Ideogram 4 price, to low (Ideogram's list prices, checked 2026-10-12; 1K and 2K sizes cost the same):
| `--speed` | 4.5 `quality` | Per image | |-----------|---------------|-----------| | FLASH, TURBO | `low` | $0.03 | | DEFAULT (the default) | `medium` | $0.06 | | QUALITY | `high` | $0.10 |
4.5's `very_low` tier needs source images, so the tool never sends it. On `--model 4`, FLASH is still sent as is, but Ideogram's docs say it currently returns HTTP 400.
32 and at least 256px
Tell Claude Code what video you want — it writes the script, generates the voiceover, music, and visuals, and renders the MP4.
AI music generation with ACE-Step 1.5 — background music, vocal tracks, covers, stem extraction, audio repainting, and…
Generate AI voiceovers, sound effects, and music using ElevenLabs APIs. Use when creating audio content for videos, podcasts, or…
Video and audio processing with FFmpeg. Use for format conversion, resizing, compression, audio extraction, and preparing assets…
Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web…
AI video generation with LTX-2.3 22B — text-to-video, image-to-video clips for video production. Use when generating video clips,…
Python video composition with moviepy 2.x — overlaying deterministic text on AI-generated video (LTX-2, SadTalker), compositing…
Activates when the user asks about AI prompts, needs prompt templates, wants to search for prompts, or mentions prompts.chat. Use…
AI-driven presentation workflow for generating editable PPTX decks and slides, reconstructing page visuals, creating reusable…
Use this skill when the user wants a .pptx with smooth cross-slide animation — PowerPoint Morph transitions, Keynote-style…
Create stunning, animation-rich HTML presentations from scratch or by converting PowerPoint files. Use when the user wants to…