Ideogram 4.0
Ideogram 4.0 API. Best-in-class text rendering for posters, packaging and logos, with 23 aspect ratios and optional image reference.
Pricing, live playground and model overview: Ideogram 4.0 API on YepAPI
/v1/media/queueOverview
Ideogram 4.0 — image generation with best-in-class text rendering for posters, packaging, logos and social graphics. Async operation — submit a job, poll for completion.
| Property | Value |
|---|---|
| Model ID | ideogram/ideogram-4.0 |
| Alias | ideogram, ideogram-4 |
| Provider | Ideogram |
| Category | Image Generation |
| Inputs | text-to-image, image reference |
| Aspect Ratios | 1:1, 1:2, 2:1, 2:3, 3:2, 4:5, 5:4, 9:16, 16:9, 5:8, 8:5, 3:4, 4:3, 9:22, 22:9, 9:23, 23:9, 3:8, 8:3, 5:12, 12:5, 1:3, 3:1 |
| Billing | Per job — priced when queued, charged only on success |
| Pricing | $0.12/image |
Usage
All media models use the async job queue. Submit a job, then poll for the result.
Step 1: Submit Job
Text-to-Image
options.params passes this model's own parameters (see Model parameters).
const res = await fetch('https://api.yepapi.com/v1/media/queue', {
method: 'POST',
headers: {
'x-api-key': 'YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
model: 'ideogram/ideogram-4.0',
prompt: 'Retro travel poster that reads VISIT LISBON in bold Art Deco lettering, trams and tiled rooftops',
options: {
aspectRatio: '1:1',
params: {
rendering_speed: 'TURBO',
},
},
}),
});
const { data } = await res.json();
// data.jobId — use this to poll for resultscurl -X POST https://api.yepapi.com/v1/media/queue \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "ideogram/ideogram-4.0", "prompt": "Retro travel poster that reads VISIT LISBON in bold Art Deco lettering, trams and tiled rooftops", "options": {"aspectRatio": "1:1", "params": {"rendering_speed": "TURBO"}}}'With an Image Reference
Pass a reference image via imageData alongside your prompt. Set options.params.image_weight (1–100) to control how closely the result follows it.
const res = await fetch('https://api.yepapi.com/v1/media/queue', {
method: 'POST',
headers: {
'x-api-key': 'YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
model: 'ideogram/ideogram-4.0',
prompt: 'Turn this sketch into a finished poster that reads OPEN HOUSE',
options: {
params: {
image_weight: 50,
},
},
imageData: {
mimeType: 'image/png',
base64: '...', // Base64-encoded image
},
}),
});curl -X POST https://api.yepapi.com/v1/media/queue \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "ideogram/ideogram-4.0", "prompt": "Turn this sketch into a finished poster that reads OPEN HOUSE", "options": {"params": {"image_weight": 50}}, "imageData": {"mimeType": "image/png", "base64": "..."}}'Step 2: Poll for Result
const status = await fetch(`https://api.yepapi.com/v1/media/status/${data.jobId}`, {
headers: { 'x-api-key': 'YOUR_API_KEY' },
});
const { data: job } = await status.json();
// job.status — "pending" | "processing" | "completed" | "failed"
// job.result.image — { mimeType, base64 } when completedcurl https://api.yepapi.com/v1/media/status/JOB_ID \
-H "x-api-key: YOUR_API_KEY"Request Body
| Parameter | Type | Required | Description | Default |
|---|---|---|---|---|
model | string | Yes | ideogram/ideogram-4.0 or aliases ideogram, ideogram-4 | — |
prompt | string | Yes | Text description of the image to generate | — |
options.aspectRatio | string | No | One of: 1:1, 1:2, 2:1, 2:3, 3:2, 4:5, 5:4, 9:16, 16:9, 5:8, 8:5, 3:4, 4:3, 9:22, 22:9, 9:23, 23:9, 3:8, 8:3, 5:12, 12:5, 1:3, 3:1 | 1:1 |
options.params | object | No | Model-specific parameters under their own names: image_weight, rendering_speed. Unknown names return 400 | — |
imageData.mimeType | string | No | MIME type of input image (image/png, image/jpeg, image/webp) | — |
imageData.base64 | string | No | Base64-encoded reference image | — |
Options are validated when you submit: an unsupported duration, resolution or value returns 400 naming the allowed values.
Model parameters
Pass these inside options.params.
| Parameter | Type | Allowed | Description | Default |
|---|---|---|---|---|
image_weight | integer | 1–100 | How strongly to preserve the input image (with imageData) | — |
rendering_speed | string | TURBO, DEFAULT, QUALITY | Speed/quality trade-off | DEFAULT |
Features
- Accurate in-image text and typography
- 23 aspect ratios, from 1:3 to 3:1
- Optional image reference via
imageData(image_weightsets how closely to follow it) TURBO,DEFAULTorQUALITYrendering speed
Pricing
| Metric | Cost |
|---|---|
| Per image | $0.12 |
One image per job. Each job is priced when it's queued and charged only if it succeeds — failed or moderated jobs are free. Price shown is for the default rendering speed; TURBO and QUALITY are quoted at submit.
Image jobs typically complete in 5–60 seconds. Results retained for 1 hour.
Powered by Ideogram's Ideogram 4.0 via our AI provider.