Generate and edit images from text or references using routed AI models, with character consistency and product photography support.
Memory
Text In Image
Try itGenerate images where the copy has to be exactly right: posters, packaging, ads, social graphics, UI mockups, menus, signage, infographics. Use when the user...
What it does
Generate images where the copy has to be exactly right: posters, packaging, ads, social graphics, UI mockups, menus, signage, infographics. Use when the user says "put the text X on it", "a poster that reads ...", "a label with the brand name", "make the headline say ...", "an ad with this tagline", or any design where a misspelled or paraphrased word is a failure. The thing most image models get wrong, so reach for this whenever exact lettering matters, even if the user just says "a poster" or "a label". For scalable vector output like a logo or SVG icon, use logos-and-vectors instead.
The skill document
Text in image
Produce an image where specific words must render correctly, in the right place, in the right style. The lever is quoting the exact copy so the model treats it as literal content instead of paraphrasable scene description, then directing placement and typographic treatment. Most image models read letters as visual texture and garble them. The models below are the ones that actually render legible, spelled-correct text.
Inputs to collect
- The exact copy. The verbatim string(s) the image must show, including apostrophes, accents, prices, dates, line breaks. (If the user hasn't given exact wording, ask. Do not invent on-image copy.)
- The deliverable. Poster, packaging, ad, social banner, UI mockup, menu, signage, infographic. Sets aspect ratio and layout conventions.
- Placement and hierarchy. Where each piece of copy sits and which is primary vs secondary, when it matters.
- Optional: a brand palette, a fixed aspect ratio, a reference image to edit text inside.
Models
- Default for typography-heavy design: Ideogram 4.0 (
ideogram:4@0). Treats text as a first-class element on a structured JSON prompt, so each line of copy is rendered byte-for-byte. Best for posters, packaging, dense multilingual labels, and anything with a real type hierarchy. - Best for natural-language briefs + world knowledge: GPT Image 2 (
openai:gpt-image@2). LLM-based, parses a full design brief, strong on infographics and ad creatives where the model also generates plausible data/content. Renders quoted text reliably. - Strong general pick with legible text: Nano Banana 2 (
google:4@3). Names objects and positions accurately, renders short quoted strings well, has athinkinglevel for dense layouts. - Fast text-on-image for marketing/signage: Grok Imagine (
xai:grok-imagine@image-quality, or the lighterxai:grok-imagine@image). Prompt-only text rendering, good for headlines, pricing callouts, packaging mockups, A/B variants. - Confirm the model is
liveand inspect its schema viarunware-models+runware-runbefore calling. Never hardcode a stale choice.
Workflow
- Resolve the chosen model's schema (
runware-run) and confirm the field names (positivePrompt,width/heightor the aspect-ratio presets, plus any per-model settings). - Write the prompt with every required string quoted verbatim and its placement + style stated (see Technique). For Ideogram, build the structured JSON instead of a sentence.
- Run
imageInferencesynchronously. Request a few variants withnumberResultsso you can pick the cleanest text rendering. - Inspect at full resolution. Text errors invisible in a thumbnail are obvious at 100%. Check every character against the source copy.
- If one word is off but the rest is good, do not regenerate. Edit the text in place: pass the image via
inputs.referenceImagesand describe only the change (Grok, GPT Image 2, and Nano Banana 2 support this). For a localized repaint, Ideogram 3.0 Edit takes a seed image plus a mask.
Technique
-
Quote the exact text. This is non-negotiable. Wrap every string the image must show in quotation marks inside the prompt. Quotes are the delimiter that tells the model "this is literal content, render it character by character", not a description to interpret. Unquoted, the model keeps the intent and invents its own wording, which is where misspellings and nonsense glyphs come from.
-
State placement and style after the scene. Lead with the scene context, end with the text and where it goes. Specify position ("centered top", "lower third", "across the storefront window"), weight/style ("bold sans-serif", "engraved gold serif", "handwritten chalk"), and size ("large headline", "small subtitle"). Unspecified, the model picks for you.
-
Build a hierarchy for multi-line copy. Name the primary line (brand/headline) and the secondary lines (subtitle, price, date, credits) separately so the model sizes them in order. This is the difference between a poster that reads as designed and one the model laid out by guess.
-
Keep rendered text short. Headlines, brand names, short phrases render reliably. Accuracy slips on paragraphs and is worst on dense CJK. For long copy, generate the text element on its own and compose it into the layout afterward.
-
Ideogram operates on a structured JSON, not a sentence. Text is a first-class element. Each
textelement'stextfield is rendered literally and itsdesccarries position/weight/treatment.objelements are interpreted as natural language. Reserved keys are snake_case in a fixed order:high_level_description,style_description(aesthetics,lighting,photoorart_style,medium,color_palette), andcompositional_deconstruction(background,elements[]). You can send a natural-languagepositivePromptand let Magic Prompt expand it (the JSON comes back in the response to iterate on), or hand the JSON viasettings.structuredPrompt. The two are mutually exclusive per request. Reach for the structured path when the exact copy matters, there are multiple text elements with hierarchy, or the layout must repeat across runs. -
Ideogram structured-prompt skeleton. Fill in the slots and pass it as
settings.structuredPrompt. Keep one line of copy pertextelement, list elements in reading order, pickphotoorart_style(not both), and use uppercase#RRGGBBincolor_palette.{ "high_level_description": "", "style_description": { "aesthetics": "", "lighting": "", "art_style": "", "color_palette": ["#RRGGBB", "#RRGGBB"] }, "compositional_deconstruction": { "background": "", "elements": [ { "type": "text", "text": "", "desc": "" }, { "type": "text", "text": "", "desc": "" }, { "type": "obj", "desc": "" } ] } }Load
references/examples.mdfor full worked recipes (poster, packaging, UI mockup) with real AIRs, dimensions, and result shapes. -
For GPT Image 2, prompt like a brief and reinforce with "verbatim". Add
render text verbatim, exactly as written, no extra charactersafter a quoted string to stop the model rewriting it. It also generates plausible data for infographics and pulls real-world facts into ad/editorial scenes, so describe the deliverable rather than dictating every label. -
For non-Latin scripts, add a script cue. Quote the characters and name the script ("written in Japanese kanji", "in traditional Arabic calligraphy") so the model selects the correct glyph set. Latin is most reliable, then CJK with short strings, then RTL scripts (which render best with a calligraphic style cue).
-
Editing copy is a sibling move. To change the wording inside an existing image rather than generate from scratch, give the image as a reference and describe only what changes, with an explicit preserve list for everything that stays.
Parameters that matter
positivePromptcarries the quoted copy + placement + style for GPT Image 2, Nano Banana 2, and Grok.- Ideogram structured prompt:
settings.structuredPrompt(the JSON), orpositivePromptfor the Magic Prompt path. Never both.textrenders literal,objinterprets. Optional per-elementbboxis[y_min, x_min, y_max, x_max], integers in 0-1000, row-first (ybeforex), origin top-left.color_paletteis uppercase#RRGGBB: up to 16 image-level, up to 5 per element. SetoutputFormat: "PNG"for transparent backgrounds.settings.renderingSpeedtiersTURBO/DEFAULT/QUALITYtrade speed for fine-text crispness. UseQUALITYfor typography-dense hero assets. Width/height must match an allowed aspect-ratio preset. - GPT Image 2:
providerSettings.openai.quality(highfor small/dense text,mediumotherwise).inputs.referenceImagesaccepts up to 16. NonegativePromptfield. Writenegative prompt:inline. - Nano Banana 2:
settings.thinking(MINIMALdefault,HIGHfor prompts stacking many constraints). NonegativePromptfield. Write aNegative prompt:clause inline. - Grok Imagine: prompt-only (no text layers, fonts, or bounding boxes).
numberResultsfor A/B variants.inputs.referenceImagesfor text editing. numberResults: request 3-4 and pick the best text rendering. Variance within a batch beats consistency across separate calls.- Confirm exact field names against the live schema (
runware-run). Never guess a parameter.
Quality bar
- Every required string is spelled correctly, character for character, checked at full resolution (not a thumbnail).
- Placement and hierarchy match the brief: primary copy reads as primary, secondary as secondary, nothing drifted off its assigned spot.
- No invented copy, fake logos, fabricated awards, or testimonials beyond what the user supplied.
- Transparency (when needed) survived because the output was PNG, not JPG.
- If one word is wrong, fix it with a text edit rather than regenerating the whole image.
Related skills
runware-run, runware-models, runware-prompting; logos-and-vectors (typographic marks and flat vector output), product-photography (branded packaging and labels in a shot).
Related skills
Generate multi-size SVG logos from natural-language product briefs, following Simple Icons design rules; runs an iterative generate → visual-check → optimize...
Turn a topic description, a product photo, or brand references into a scroll-stopping event poster, promotional banner, or social media graphic. This AI poster maker and design generator creates photo-rich posters with strong visual hierarchy, category-matched styling, and text-safe zones for event, music, movie, product launch, and sale campaigns. Use it as an AI flyer maker for sale flyers, an event poster design tool, a movie poster generator, a music festival poster creator, a banner design AI for product launch posters, or a graphic design poster studio. Start from a campaign topic, transform a product or scene photo with style references, or refine an accepted draft toward a print-ready or share-ready result.
Generate images from text with a free-quota-first multi-provider workflow. Use this skill when a user asks for text-to-image generation that needs provider r...
AI Poster Generator Skills Served By Craftsman Agent, Generate Editable AI Poster using sota Image models and design config, support various formats, ratio, design styles
Science-backed image generation agent that scores and optimizes images for memorability using ResMem (Brain Bridge Lab, University of Chicago) before returni...