# Ideogram V4 | Text to Image Ideogram v4 generates high-quality images, posters, and logos with accurate, readable text rendering and fine detail for designers and marketers. ## API Information - **Model Slug:** ideogram-v4-text-to-image - **Branded URL:** https://www.eachlabs.ai/ideogram/ideogram/ideogram-v4-text-to-image - **Provider:** Ideogram - **Category:** Text to Image - **Output Type:** image - **Status:** active - **Version:** 0.0.1 - **Base Cost:** Ideogram v4 Balanced (default): $0.06 per output image - **Estimated Processing Time:** 50 seconds - **Last Updated:** 2026-06-04 - **Interactive Demo:** https://www.eachlabs.ai/ai-models/ideogram-v4-text-to-image ## Pricing - **Charge Type:** dynamic - **Estimated Price (default example):** $0.0600 - **Pricing Details:** Ideogram v4 Balanced (default): $0.06 per output image ### Pricing Rules | Condition | Pricing | | --- | --- | | rendering_speed eq_i "turbo" | Ideogram v4 Turbo: $0.03 per output image | | rendering_speed eq_i "quality" | Ideogram v4 Quality: $0.10 per output image | | Rule 3 | Ideogram v4 Balanced (default): $0.06 per output image | ## Input Schema No input parameters documented. ## Example Request ```bash curl -X POST https://api.eachlabs.ai/v1/prediction/ \ -H "X-API-Key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "ideogram-v4-text-to-image", "input": {} }' ``` ## Output Schema Response returned by `GET /v1/prediction/{id}` when the job completes: ```json { "status": "success", "predictionID": "string", "output": "string (URL of generated image)", "metrics": { "predict_time": "number (seconds)" } } ``` ## Polling ```bash curl https://api.eachlabs.ai/v1/prediction/{PREDICTION_ID} \ -H "X-API-Key: YOUR_API_KEY" ``` | Status | Meaning | |--------|---------| | `processing` | Still running — poll again | | `success` | Done — read `output` | | `error` | Failed — read `message` / `details` | ## Webhook (alternative to polling) Pass `"webhook_url": "https://your.host/path"` in the create request. Eachlabs POSTs this payload when the job ends: ```json { "exec_id": "prediction-uuid", "status": "succeeded", "output": "https://...", "error": "" } ``` `status` is `"succeeded"` or `"failed"`. `exec_id` equals the `predictionID` from create. Return 2xx within 30 seconds. ## Errors Error body: `{ "status": "error", "message": "...", "details": "..." }` | Code | Meaning | |------|---------| | `400` | Invalid input | | `401` | Missing / invalid `X-API-Key` | | `404` | Unknown model or prediction id | | `429` | Rate limit — 100 creates / min, 10 concurrent per key | | `5xx` | Retry with backoff | ## Overview **Ideogram V4 | Text to Image Overview** Ideogram V4 | Text to Image is the latest generation of Ideogram’s text-to-image model, designed to turn natural language prompts into high-quality, stylistically controlled images with reliable text rendering inside the image. Built by Ideogram AI, the Ideogram V4 model family focuses on creative design workflows, brand assets, and concept art where readable logos, signage, and typography are critical. Its primary differentiator is unusually strong text-in-image generation, producing legible words and consistent letterforms across many styles compared with typical diffusion-based systems. Through the Ideogram text-to-image interface and the Ideogram V4 | Text to Image API, teams can rapidly explore visual directions, iterate on brand concepts, and generate production-ready references directly from short prompts. ## Usage Notes - API Base URL: `https://api.eachlabs.ai/v1` - Authentication: send `X-API-Key: YOUR_API_KEY`. Generate a key from the Eachlabs dashboard at https://www.eachlabs.ai/dashboard/api-keys. - File-typed parameters (`*_url`, `image_url`, `video_url`, `audio_url`, etc.) accept publicly-reachable HTTPS URLs only. Upload your asset first (GCS / S3 / your CDN) and pass the resulting URL. Data-URIs and localhost URLs are rejected. - For structured parameters (arrays / objects) send real JSON values, not stringified payloads. - Monetary values are reported in USD; per-token / per-megapixel rates may be billed in micro-cents internally. - Prefer `webhook_url` over polling for long-running predictions — see the Webhook Callback section.