Skip to content
Data
Skill

/image-prompting

Use when generating or editing images via `blockrun_image` — especially with GPT Image 2, Nano Banana, or Grok Imagine for posters, UI mockups, marketing assets, product shots, or anything with on-image text. Turns vague user requests ("make me a cool poster") into structured,

From plugin
blockrun-mcp
39017 skills

Claude Code

$ npx -y skills add BlockRunAI/blockrun-mcp --skill image-prompting --agent claude-code

SKILL.md

image-prompting.SKILL.md
name: image-prompting
description: Use when generating or editing images via `blockrun_image` — especially with GPT Image 2, Nano Banana, or Grok Imagine for posters, UI mockups, marketing assets, product shots, or anything with on-image text. Turns vague user requests ("make me a cool poster") into structured, text-accurate prompts that actually render what you asked for.
triggers:
  - "image prompt"
  - "make a poster"
  - "create poster"
  - "ui mockup"
  - "marketing asset"
  - "product shot"
  - "gpt image 2"
  - "image with text"
  - "typography poster"
  - "social asset"
  - "generate marketing image"
  - "ai poster"

Image Prompting

Most image failures are prompt failures. This skill gives the MCP agent a repeatable structure for turning any user request into a prompt that renders clean typography, preserves layout on edits, and avoids AI slop. Defaults are tuned for **GPT Image 2** (best legible text), with fallbacks for Nano Banana, Grok Imagine, and CogView.

Quick Decision Table

**Prices:** per image, and they change — look the model up live rather than trusting a number here: `GET https://blockrun.ai/api/v1/models` (Solana: `https://sol.blockrun.ai/api/v1/models`), find the entry whose `id` is the model below, and read `pricing.per_image` plus `pricing.transaction_fee`. That is the base-size rate; the exact amount for your size and quality is quoted in the HTTP 402 challenge before anything is signed. **Size is the biggest lever:** any dimension above 1024 moves GPT Image 2 to the large tier and roughly doubles the price ($0.064 → $0.127). Ask for `1536x1024` only when you need it.

| User wants... | Model | Mode | Size | |---|---|---|---| | Poster / typography-heavy asset | `openai/gpt-image-2` | generate | `1536x1024` or `1024x1536` | | Clean product / UI mockup | `openai/gpt-image-2` | generate | `1024x1024` | | Photoreal / fashion / editorial | `openai/gpt-image-2` or `google/nano-banana-pro` | generate | `1024x1024` | | Pro-level photoreal at Flash speed | `google/nano-banana-2` | generate | `1024x1024` (only size) | | Artistic / stylized / fast | `google/nano-banana` | generate | `1024x1024` | | Cheapest usable draft | `zai/cogview-4` | generate | `1024x1024` | | Widescreen / banner on a budget | `bytedance/seedream-5-pro` | generate | `2048x1024` or `1280x720` | | Premium render or high-precision edit | `openai/gpt-image-2.5-sunburst` (`-flare` generates only, same price) | generate or edit | `1024x1024` | | Stylized Grok render, one step above the base | `xai/grok-imagine-image-2.0` | generate | `1024x1024` (only size) | | Edit an existing image (localized change) | `openai/gpt-image-2` | edit | match source | | Composite from multiple refs | `openai/gpt-image-2` | edit (multi-ref) | match target |

**Valid GPT Image 2 sizes:** `1024x1024` (square), `1536x1024` (landscape ~3:2), `1024x1536` (portrait ~2:3).

The 5-Section Prompt Framework

Write prompts as **five short blocks separated by blank lines.** This is the single biggest quality lever.

SCENE: where/when/background/environment, one or two lines.

SUBJECT: the main focus (who/what), described concretely.

DETAILS: materials, texture, lighting, camera angle, composition, mood,
lens feel, depth of field, surface condition. Stack concrete nouns.

USE CASE: editorial photo / product mockup / poster / UI screen / infographic / concept frame.
(This single line tells the model what kind of image to produce.)

CONSTRAINTS: what must not drift. "No extra text." "No duplicate elements."
"Preserve face." "Legible typography." Repeat these on every edit.

> The fifth slot is where most mediocre prompts fail silently. Describe the idea without bounding it and the model gets inventive in directions you will regret.

Text & Typography Rules (the #1 differentiator for GPT Image 2)

1. **Wrap literal text in quotes or ALL CAPS.** `Headline (EXACT TEXT): "Fresh and clean."` 2. **Specify** font style, weight, size, color, placement, letter-spacing. 3. **Treat text as layout, not decoration:** hero vs. sub vs. caption with hierarchy + spacing. 4. **State:** `No extra words. No duplicate text. No watermarks.` 5. **Spell difficult words letter-by-letter** if the model keeps breaking them. 6. **Mark each distinct piece of copy** with its role: `HERO:`, `SUB:`, `BOTTOM-LEFT TAG:`, `TOP BANNER:`.

Anti-Slop Rules (visual facts > excitement)

| Bad (vague / praise-loaded) | Good (concrete visual fact) | |---|---| | "stunning, epic, masterpiece" | "overcast daylight, brushed aluminum, 50mm feel" | | "minimalist brutalist luxury editorial" | "cream background, heavy black condensed sans-serif, asymmetric type block, one hero object, studio tabletop light" | | "it should contain a boarding pass feel" | "a boarding pass lies on the tray, barcode visible, creased corner" | | "beautiful lighting" | "incandescent work lamp spilling warm light onto wet concrete" |

**Rules:**

  • **Visual facts over praise.** Replace adjectives like *gorgeous/stunning/incredible* with observable specifics.
  • **Style tags need targets.** Don't just name a style — describe the artifacts that style produces.
  • **Say the real thing.** If the image must contain a boarding pass, say "boarding pass."
  • **Name the lens.** 35mm, 50mm, medium format. Depth of field: shallow vs. deep.
  • **Name the light.** Source + quality + direction + color temperature.

Instructions

1. Initialize

import os
from pathlib import Path

chain_file = Path.home() / ".blockrun" / ".chain"
chain = chain_file.read_text().strip() if chain_file.exists() else "base"

if chain == "solana":
    from blockrun_llm import setup_agent_solana_wallet, ImageClient
    setup_agent_solana_wallet()
else:
    from blockrun_llm import setup_agent_wallet, ImageClient
    setup_agent_wallet()

image = ImageClient()

2. Generate from Scratch

prompt = """
SCENE: A realistic roadside billboard at sunset, empty two-lane highway,
soft gradient sky fr
Read more
@blockrunai
Ships withblockrun-mcp

Live data for AI agents — search, research, markets, crypto, X/Twitter. Pay-per-call via x402 micropayments.

Stars on GitHub

Momentum

stars in total
390
Star history of BlockRunAI/blockrun-mcp on GitHub, a chart by star-history.com

Other skills on blockrun-mcp.

blockrun-debug

blockrun-debug

Use when the BlockRun MCP server (@blockrun/mcp) is installed but misbehaving — 'Failed to connect', spawn npx ENOENT, blockrun…

blockrun-setup

blockrun-setup

Use when asked to install, add, configure, or set up the BlockRun MCP server (@blockrun/mcp) in Claude Code, Claude Desktop,…

blockrun-upgrade

blockrun-upgrade

Use when the BlockRun MCP server prints 'Update available', when asked to upgrade, update, or pin @blockrun/mcp, when a fix…

blockrun

blockrun

Pay-per-call access to AI models, real-time data, media generation and multi-chain RPC over x402 micropayments (USDC on Base,…

crypto-data

crypto-data

Use for any crypto data question — token/coin prices, FX, commodities, stocks, OHLC history, DEX pairs and liquidity, DeFi TVL,…

decide

decide

Use when the user wants typed judgments over their own data from Claude Code — yes/no probabilities, a labelled choice, or a…

More skills from other plugins.

context-loader
Auto-invoked

context-loader

Search memories from earlier Pi sessions in this repository. Use it when earlier work may already explain the code, error,…

mem04d69k
@mem0ai@mem0aiInstall Skill
analyzing-ai-citations

analyzing-ai-citations

Answer AI citation and answer engine optimization (AEO) questions in PostHog: whether AI answer engines (ChatGPT, Claude, and an…

posthog11d41k
@posthog@posthogInstall Skill

Questions about image-prompting.

Which coding agents can use image-prompting?
image-prompting installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.