# XAI | Grok | Imagine | 2.0 | Text to Image Grok Imagine Image 2.0 generates images from text prompts with selectable aspect ratio, resolution, quality, and batch size. ## API Information - **Model Slug:** xai-grok-imagine-2-0-text-to-image - **Branded URL:** https://www.eachlabs.ai/xai/grok-imagine/xai-grok-imagine-2-0-text-to-image - **Provider:** xAI - **Category:** Text to Image - **Output Type:** array - **Status:** active - **Base Cost:** Direct xAI cost - **Estimated Processing Time:** 70 seconds - **Interactive Demo:** https://www.eachlabs.ai/ai-models/xai-grok-imagine-2-0-text-to-image ## Pricing - **Charge Type:** dynamic - **Pricing Details:** Direct xAI cost ### Pricing Rules | Condition | Pricing | | --- | --- | | Rule 1 | Direct xAI cost | ## Input Schema | Parameter | Type | Required | Default | Constraints | Description | |-----------|------|----------|---------|-------------|-------------| | prompt | string | Yes | - | - | Text prompt describing the desired image. | | num_images | integer | No | 1 | 1–10 | Number of images to generate in one request. | | aspect_ratio | string | No | auto | auto, 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 2:1, 1:2, 19.5:9, 9:19.5, 20:9, 9:20 | Output aspect ratio. Use auto to let the model select the best ratio for the prompt. | | resolution | string | No | 1k | 1k, 2k | Output resolution. Higher resolution increases provider cost. | | quality | string | No | medium | low, medium | Output quality for grok-imagine-image-2.0. Higher quality increases provider cost. | | output_format | string | No | jpeg | jpeg, png, webp | Output image format. | ## 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": "xai-grok-imagine-2-0-text-to-image", "input": { "prompt": "Analog film photograph, extreme close-up portrait of a young East Asian woman with dark curly hair, submerged just beneath the surface of water among vivid orange goldfish and shimmering air bubbles. Dappled caustic light patterns dance across her face, wet skin glistening, glossy parted lips, calm dreamy half-lidded gaze into the lens. She wears sparkling crystal earrings and a sequined glittering top catching tiny points of light. Warm golden skin tones against deep teal water, bokeh of glowing bubbles filling the frame, shallow depth of field with goldfish softly blurred in foreground and background. Shot on vintage 35mm film, Kodak Portra color palette, soft grain, hazy nostalgic atmosphere, editorial fine-art fashion photography, dreamlike and surreal yet intimate, 1:1 square format." } }' ``` ## Output Schema Response returned by `GET /v1/prediction/{id}` when the job completes: ```json { "status": "success", "predictionID": "string", "output": "array", "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 | ## Overview **XAI | Grok | Imagine | 2.0 | Text to Image Overview** **XAI | Grok | Imagine | 2.0 | Text to Image** is xAI’s image generation and editing model for turning prompts into still images, with a stronger emphasis on controlled composition than one-shot generation. It is designed for creators who want to generate images from text while also steering layout, subject placement, and output framing. In xAI’s Imagine family, Image 2.0 is positioned as a “Quality Mode” image model and adds precision-focused tools such as region edits, segmentation, background removal, and multi-reference workflows. That makes **XAI | Grok | Imagine | 2.0 | Text to Image** especially useful when the goal is not just to create an image, but to refine one with more direct control over the result. ## 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.