# Ideogram 4.5 Ideogram 4.5 generates images from text with accurate typography for posters, logos, and visual designs. Choose from three quality levels and multiple sizes. ## API Information - **Model Slug:** ideogram-v4-5-text-to-image - **Branded URL:** https://www.eachlabs.ai/ideogram/ideogram/ideogram-v4-5-text-to-image - **Provider:** Ideogram - **Category:** Text to Image - **Output Type:** image - **Status:** active - **Base Cost:** $0.03–$0.22 per image, depending on quality - **Interactive Demo:** https://www.eachlabs.ai/ai-models/ideogram-v4-5-text-to-image ## Pricing - **Charge Type:** dynamic - **Estimate:** $0.03–$0.22 per image, depending on quality - **Pricing Details:** low: $0.03 - **Pricing Details:** medium (default): $0.06 - **Pricing Details:** high: $0.22 ## Input Schema | Parameter | Type | Required | Default | Constraints | Description | |-----------|------|----------|---------|-------------|-------------| | prompt | string | Yes | - | - | The generation or editing prompt. | | image_size | string | No | square_hd | square_hd, square, portrait_4_3, portrait_16_9, landscape_4_3, landscape_16_9, custom | Output image size. | | quality | string | No | medium | low, medium, high | Text-to-image quality. | | num_images | integer | No | 1 | 1–8 | Number of images to generate. | | seed | integer | No | - | - | Random seed. Omit to choose automatically. | ## Example Request ```bash curl -X POST https://api.eachlabs.ai/v1/prediction/ \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "ideogram-v4-5-text-to-image", "input": { "prompt": "Ultra-realistic editorial photo of a young woman with very long, straight platinum blonde hair flowing down to her waist, sitting on a wooden chair in an artist's studio next to a large canvas on a wooden easel. She wears a paint-splattered oversized denim shirt and wide-leg denim jeans covered in colorful paint stains, with a paint-stained apron and chunky worn boots. She holds a paintbrush loosely in one hand, gazing off to the side with a calm, dreamy expression.\n\nThe large canvas behind her is a vibrant, dreamy painting with a bright pink sky, large red and pink peonies and roses, a flowing white-and-pink Eastern dragon swirling through soft clouds, small birds, butterflies, crescent moons and stylized blue waves at the bottom. In the center of the painting, the word \"Ideogram\" is painted in elegant, flowing hand-painted lettering that blends naturally into the artwork, clearly legible.\n\nThe studio floor is covered with scattered red rose petals, paint splashes and a colorful palette lying on the ground. A bouquet of red and pink peonies sits in a paint-covered boot beside her. Soft natural daylight, rich saturated pinks, reds and blues, artistic and whimsical atmosphere, high-fashion magazine aesthetic, sharp details, realistic textures, 8K." } }' ``` ## 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 "Authorization: Bearer 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 `Authorization` bearer token | | `404` | Unknown model or prediction id | | `429` | Rate limit — 100 creates / min, 10 concurrent per key | | `5xx` | Retry with backoff | ## Usage Notes - API Base URL: `https://api.eachlabs.ai/v1` - Authentication: send `Authorization: Bearer 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.