# Recraft v4 | Pro | Text to Image Recraft V4 Pro creates premium AI images for marketing with refined composition, accurate typography, and precise brand color control on eachlabs. ## API Information - **Model Slug:** recraft-v4-pro-text-to-image - **Branded URL:** https://www.eachlabs.ai/recraft/recraft-v4/recraft-v4-pro-text-to-image - **Provider:** recraft - **Category:** Text to Image - **Output Type:** image - **Status:** active - **Version:** 0.0.1 - **Base Cost:** Fixed price per execution: $0.25 - **Estimated Processing Time:** 70 seconds - **Last Updated:** 2026-05-08 - **Interactive Demo:** https://www.eachlabs.ai/ai-models/recraft-v4-pro-text-to-image ## Pricing - **Charge Type:** dynamic - **Estimated Price (default example):** $0.2500 - **Pricing Details:** Fixed price per execution: $0.25 ### Pricing Rules | Condition | Pricing | | --- | --- | | Rule 1 | Fixed price per execution: $0.25 | ## Input Schema | Parameter | Type | Required | Default | Constraints | Description | |-----------|------|----------|---------|-------------|-------------| | prompt | string | Yes | - | - | - | | image_size | string | No | square_hd | - | - | | colors | string | No | [] | - | An array of preferable colors | | background_color | string | No | - | - | The preferable background color of the generated images. | | enable_safety_checker | boolean | No | true | - | If set to true, the safety checker will be enabled. | ## 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": "recraft-v4-pro-text-to-image", "input": { "prompt": "A breathtaking photorealistic aquarium scene, crystal clear water, \nexotic tropical fish swimming among vibrant living coral reefs, \ndramatic underwater lighting with god rays, clownfish, angelfish, \nblue tang, lush sea anemones and soft corals in deep ocean blues and greens, \n8K ultra detailed, professional nature photography style" } }' ``` ## 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 | ## 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.