Skip to content
Agentmart
Submit a tool

t2i-prompt-dialect

Rewrite an asset brief into the exact prompt dialect of the target image model (OpenAI gpt-image-1, Google Imagen/Gemini, SDXL, Flux.1/Flux.2, Midjourney…

Skill by MohamedAbdallah-14

IndexedMIT★ 24
Write a review

Chalk Labs

Need help deploying t2i-prompt-dialect?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/mohamedabdallah-14-t2i-prompt-dialect

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Rewrite an asset brief into the exact prompt dialect of the target image model (OpenAI gpt-image-1, Google Imagen/Gemini, SDXL, Flux.1/Flux.2, Midjourney, Ideogram, Recraft). Handles negative-prompt translation, token budgets, transparency quirks, brand-palette injection, and text-in-image ceilings so that `asset_generate_*` submissions succeed on the first try.

Use cases: design, agent-building

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/t2i-prompt-dialect

What's inside

Skill name
t2i-prompt-dialect
Description
Rewrite an asset brief into the exact prompt dialect of the target image model (OpenAI gpt-image-1, Google Imagen/Gemini, SDXL, Flux.1/Flux.2, Midjourney, Ideogram, Recraft). Handles negative-prompt translation, token budgets, transparency quirks, brand-palette injection, and text-in-image ceilings so that `asset_generate_*` submissions succeed on the first try.
License
MIT
Instructions
174 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

# T2I prompt dialect

Runs between `asset_enhance_prompt()` and `asset_generate_*()`. Takes a normalized brief plus a target model and emits a prompt that honors that model's syntax, token budget, and quirks.

## Per-model rules (quick card, verified Apr 2026)

| Model | Grammar | Token / char ceiling | Negative prompt | Transparency | Text ceiling |
|---|---|---|---|---|---|
| `gpt-image-2` | Prose | ~100 words | silently ignored | **NOT supported — `background:"transparent"` 400s** (regression vs 1.5) — route transparent jobs to gpt-image-1.5 instead | ~80 chars / paragraph (~99% accuracy per third-party tests) |
| `gpt-image-1.5` | Prose | ~100 words | silently ignored | API param `background: "transparent"` | dense text ~60 chars (LM Arena #1) |
| `gpt-image-1` | Prose | ~100 words | silently ignored | API param `background: "transparent"` | ~50 chars / ≤5 words |
| Imagen 4 (Fast/Standard/Ultra) | Narrative prose, ≥30 words suppresses auto-rewriter | unbounded | **`negativePrompt` accepted on Vertex AI; ignored on Gemini API** | never request in prompt (renders checkerboard as RGB) | ≤25 chars per Google's own guidance |
| Gemini 3.1 Flash Image (Nano Banana 2) | Prose | unbounded | ignored | renders checkerboard | ~50 chars / ~90% accuracy (#1 Image Arena at launch — strong-text, not weak) |
| Gemini 3 Pro Image (Nano Banana Pro) | Prose | unbounded | ignored | renders checkerboard | paragraph-length reliable (~94-96% accuracy) |
| SD 1.5 / SDXL | Tag-soup, comma-separated, no articles | **77 CLIP tokens**, chunk via `BREAK` | **native** | LayerDiffuse adapter or matte post | "cannot render legible text" per HF card — ≤1 glyph |
| SD 3 / SD 3.5 Large | Prose + tags hybrid | 256 (T5) | **native** | matte post | ~30 chars (mid-tier; not strong-text) |
| Flux 1.1 Pro / Flux Pro | Prose narrative | 512 | **rejected at fal schema; no-op on BFL native** | matte post | 1–3 words / ~25 chars |
| Flux 2 (pro/flex/dev/klein) | Prose, JSON-structured prompts allowed | T5 + Mistral-3 24B VLM | **officially unsupported per BFL guide ("FLUX.2 does not support negative prompts")** | matte post | 5–10 words / one tagline (~92% layout accuracy) |
| Flux Schnell | Prose | 256 | unsupported | matte post | 1–2 words max |
| Midjourney v7/v8 | Prose + `--flags` | unbounded | `--no X` flag | none; matte post | ≤15 chars with `--text` |
| Ideogram 3 / 3 Turbo | Prose + text in `"double quotes"` | unbounded | **native** | dedicated `POST /v1/ideogram-v3/generate-transparent` endpoint; `rendering_speed: "TURBO"` for Turbo tier (no `style:"transparent"` param exists) | ~3–6 words reliable, ~10 with seed retries |
| Recraft V3 / V4 | Prose + `controls.colors` + `style_id` (V3 only — V4 dropped it) | unbounded | **native** | native SVG handles alpha trivially | ~3–5 words |

## Negative-prompt translation

**Native support:** SD 1.5, SDXL, SD 3 / 3.5 Large, Recraft V3 / V4, Ideogram 3 / 3 Turbo, Leonardo Phoenix / Diffusion XL, Stability-hosted, Adobe Firefly. Imagen 4 also accepts `negativePrompt` on the **Vertex AI** endpoint (not on the Gemini API endpoint).

**Silently ignored:** all `gpt-image-*`, all Gemini Flash Image / Nano Banana variants, Imagen 4 via Gemini API, Freepik Mystic, Pollinations.

**Rejected / unsupported:** Flux 1.x on fal (schema lacks the field), Flux 2 family (BFL prompting guide: "FLUX.2 does not support negative prompts" — no negative-conditioning path in the model). Sending it 400s on some surfaces and silently no-ops on others.

For models that ignore or reject it, rewrite as affirmative anchors:

```
"blurry"                → "tack-sharp, high-resolution"
"low quality"           → "professional quality, fine details"
"watermark"             → "clean unmarked composition"
"extra fingers"         → "anatomically correct, five fingers per hand"
"cartoon"               → "photorealistic, naturalistic rendering"
"no gradients"          → "flat vector style, solid colors"
"no drop shadows"       → "flat design, crisp edges"
"no text"               → "purely visual, no embedded typography"
```

## Text-in-image — model-specific ceilings, not a blanket rule

Every model has its own ceiling. Pick by tier:

- **Paragraph-length OK:** `gpt-image-2`, `gemini-3-pro-image-preview` (Nano Banana Pro), `gpt-image-1.5`. The model can render it; composite remains safer for UI copy that must be pixel-exact.
- **Strong (~3–10 words):** `ideogram-3` / `ideogram-3-turbo`, `gemini-3.1-flash-image-preview` (Nano Banana 2), `gpt-image-1`, `flux-2` family.
- **OK (~3–4 words / ≤25 chars):** Imagen 4 family, Recraft V4, Midjourney v7/v8.
- **Weak (1–3 words):** Flux Pro / 1.1 Pro, original `gemini-2.5-flash-image`, Freepik Mystic, Pollinations.
- **Cannot render text:** SDXL, SD 1.5, Flux Schnell, Flux 2 Klein. Composite always.

For weak / cannot-render tiers past ceiling: generate **text-free**, then composite the wordmark as SVG `<text>` (or design-tool type layer) using `BrandBundle.typography`.

Quoted-text syntax per model:
```
gpt-image-2:  The text "Acme" in bold sans-serif at the top, white on navy
gpt-image-1:  "The text 'Acme' in bold sans-serif"
Ideogram:     A wordmark "Morning Brew" in geometric sans-serif
Flux.2:       The heading "OPEN" in large bold sans-serif, color #FF6B6B
Nano Banana Pro: A magazine cover with the headline "The Future of Compute" centered, in serif
SDXL:         text 'acme' on background   (tag-soup, fragile, ≤1 glyph reliable)
```

## Brand injection per model

| Model | Palette delivery | Style lock |
|---|---|---|
| Flux.1 | hex codes in prose | T5 picks up named colors + hex |
| Flux.2 | JSON `color_palette: ["#hex", …]` | up to 8 reference images |
| SDXL | `(#hex style:0.8)` tag + IP-Adapter image | LoRA weights / IP-Adapter ref |
| Midjourney | color words in prose + `--sref <id> --sw 250–400` | `--sref`, `--cref`, `--mref` |
| Ideogram | prose color description | `style_reference_images` or `style_codes` |
| Recraft | **`controls.colors: ["#hex"]` (hard enforcement)** | **`style_id: "uuid"` (tight lock)** |

Encode `BrandBundle.do_not[]` as affirmative anchors. Never forward literal "no X" language to Flux/Imagen/Ideogram/Recraft — translate it.

## Dialect-rewrite template (logo example)

Input: `"logo for my meditation app called Stillness, minimal, navy and white"`

```
gpt-image-1:
  A minimalist geometric logo for Stillness, a meditation app. A single stylized
  lotus form composed of overlapping curved lines, deep navy #0A1F44 and soft white
  #FAFAFA. Flat vector style, no gradients, no shadows. Centered composition on a
  transparent background. Scalable to 32×32 pixels.
  [API: background="transparent", size="1024x1024"]

Imagen 3 (≥30 words):
  A serene vector logo for Stillness, a mindfulness meditation app. The mark shows
  a stylized seated figure in lotus position as simple overlapping curves, in deep
  navy #0A1F44 and soft white #FAFAFA. Minimalist line-weight aesthetic with generous
  negative space. Flat design, centered, solid pure white background. Scalable to
  app-icon sizes.

Flux.1 [dev] (no negative_prompt, guidance 3.5):
  A minimalist geometric logo for Stillness. A stylized lotus mark composed of
  overlapping curves in deep navy #0A1F44 and soft white #FAFAFA. Flat vector style,
  crisp edges, solid colors. Centered on a clean white background. Scalable, works
  at 32×32 pixels.

SDXL (77-token chunked):
  masterpiece, vector logo, minimalist meditation mark, lotus geometry, deep navy
  #0A1F44, soft white #FAFAFA, flat design, (centered:1.2), white background
  BREAK
  professional, sharp details, scalable, clean composition, no shadow, no watermark
  NEGATIVE: blurry, low quality, photorealistic, watermark, text, distorted shapes

Ideogram 3 Turbo (+ wordmark):
  A minimalist vector logo for a meditation app. A stylized lotus mark in deep navy
  on white. Wordmark "Stillness" in modern geometric sans-serif, tight letter
  spacing, bold weight. Flat design, centered, high contrast.
  [API for transparency: POST /v1/ideogram-v3/generate-transparent with
   rendering_speed:"TURBO" — no `style:transparent` parameter exists]

Recraft V3:

From MohamedAbdallah-14/prompt-to-asset, MIT.

More from MohamedAbdallah-14/prompt-to-asset

Signals

Stars
24
Forks
3
Open issues
3
Contributors
2
Last commit (this folder)
Apr 26, 2026 (6 months ago)
Last release
Apr 26, 2026 (6 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

Same skill elsewhere

Copies of this SKILL.md published by others; search shows only one of them.

More from MohamedAbdallah-14

Done for you

Rather not set it up yourself?

Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

See how we build AI agents →Read the case studies

Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

launches shipped
50+
launches shipped
media placements
500+
media placements
founders on every account
2
founders on every account

Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

Get t2i-prompt-dialect running in your business

Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying t2i-prompt-dialect?

CallGet help
Cite this page

t2i-prompt-dialect skill. Agent Mart. https://agentmart.dev/skills/mohamedabdallah-14-t2i-prompt-dialect (last updated 2026-10-24)