Documentation Index
Fetch the complete documentation index at: https://runcrate.ai/docs/llms.txt
Use this file to discover all available pages before exploring further.
Ideogram 3 is the leading model for generating images with accurate, readable text. Logos, event posters, social media graphics — anywhere words need to render correctly inside an image.
Why Ideogram 3
Most image models distort or misspell text. Ideogram 3.0 is purpose-built for text accuracy.
Basic usage
from runcrate import Runcrate
client = Runcrate(api_key="rc_live_YOUR_API_KEY")
image = client.models.generate_image(
model="ideogram/ideogram-3.0",
prompt='A modern coffee shop logo with the text "MORNING RITUAL" in clean sans-serif font, '
'minimalist design, coffee cup icon, warm earth tones, white background',
aspect_ratio="1:1",
)
image.data[0].save("coffee-logo.png")
from runcrate import Runcrate
client = Runcrate(api_key="rc_live_YOUR_API_KEY")
graphics = [
{"file": "launch.png", "prompt": 'Instagram post with bold text "NOW LIVE" and "v2.0". Dark gradient, subtle confetti.', "ratio": "1:1"},
{"file": "sale.png", "prompt": 'Banner with large text "50% OFF" and "This Weekend Only". White background, red accents.', "ratio": "16:9"},
{"file": "quote.png", "prompt": 'Quote card with text "Ship it." in bold serif font, centered. Cream background.', "ratio": "4:3"},
]
for g in graphics:
image = client.models.generate_image(
model="ideogram/ideogram-3.0", prompt=g["prompt"], aspect_ratio=g["ratio"],
)
image.data[0].save(g["file"])
print(f"Saved {g['file']}")
Event posters
from runcrate import Runcrate
client = Runcrate(api_key="rc_live_YOUR_API_KEY")
image = client.models.generate_image(
model="ideogram/ideogram-3.0",
prompt='Concert poster with text "JAZZ UNDER THE STARS" in elegant serif. '
'Below: "FRIDAY JULY 18 • 8PM". Art deco style, navy and gold, saxophone silhouette.',
aspect_ratio="9:16",
)
image.data[0].save("jazz-poster.png")
Vercel AI SDK integration
// app/api/generate-graphic/route.ts
import { runcrate } from '@runcrate/ai';
import { generateImage } from 'ai';
export async function POST(req: Request) {
const { prompt, aspectRatio } = await req.json();
const sizeMap: Record<string, string> = {
'1:1': '1024x1024', '16:9': '1792x1024', '9:16': '1024x1792',
};
const { image } = await generateImage({
model: runcrate.imageModel('ideogram/ideogram-3.0'),
prompt,
size: sizeMap[aspectRatio] || '1024x1024',
});
return Response.json({ image: image.base64 });
}
Prompting tips for text accuracy
| Tip | Example |
|---|
| Quote the exact text | 'text reads "HELLO"' not text saying hello |
| Specify font style | "clean sans-serif", "bold serif", "handwritten" |
| Keep text short | 2–5 words renders most reliably |
| Describe placement | "centered at the top", "bottom-right corner" |
Tips
- Always quote exact text in your prompt — this is the most important factor.
- Shorter text renders better. 1–4 words is reliable, 5–8 usually works.
- Seed for iteration: lock the composition with
seed, then adjust the prompt.
- Not a layout tool — for precise positioning, generate and composite in code.
Next steps