# Recraft v4.1 | Text to Image Recraft V4.1 generates design-first raster images from text prompts, with cleaner photorealism, sharper lines, and improved illustration for brand work. ## API Information - **Model Slug:** recraft-v4-1-text-to-image - **Branded URL:** https://www.eachlabs.ai/recraft/recraft-v4-1/recraft-v4-1-text-to-image - **Provider:** Recraft - **Category:** Text to Image - **Output Type:** image - **Status:** active - **Base Cost:** $0.04 per execution - **Estimated Processing Time:** 15 seconds - **Interactive Demo:** https://www.eachlabs.ai/ai-models/recraft-v4-1-text-to-image ## Pricing - **Charge Type:** dynamic - **Estimate:** $0.04 per execution - **Pricing Details:** default: $0.04 ## Input Schema | Parameter | Type | Required | Default | Constraints | Description | |-----------|------|----------|---------|-------------|-------------| | prompt | string | Yes | - | - | Text description of the desired image. | | image_size | string | No | square_hd | square_hd, square, portrait_4_3, portrait_16_9, landscape_4_3, landscape_16_9 | Aspect ratio / size preset for the generated image. | | colors | array | No | - | - | Preferred color palette. Each entry is an RGB triple (0-255). | | background_color | object | No | - | - | Preferred background color (RGB 0-255). | | enable_safety_checker | boolean | No | true | - | Run safety checker on output. Default: true. | ## 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": "recraft-v4-1-text-to-image", "input": { "prompt": "A stunning scarlet macaw parrot perched on a mossy branch deep in the Amazon rainforest, vivid lime green tropical foliage surrounding it, bright pink and magenta exotic flowers blooming nearby, rich coral and red plumage catching the golden sunlight, deep purple shadows in the dense jungle background, royal blue sky visible through the canopy, lush and vibrant, photorealistic, National Geographic style, 8K ultra detailed" } }' ``` ## 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 | ## Overview **Recraft v4.1 | Text to Image Overview** Recraft v4.1 | Text to Image is a diffusion-based generative model from Recraft, designed to transform natural language prompts into high-quality images, illustrations, and design assets. It focuses on clean, vector-friendly outputs and brand-ready visuals, making it especially useful for designers, marketers, and product teams who need production-grade graphics rather than purely artistic experiments. Within the recraft text-to-image family, this version is known for strong style control, crisp line work, and solid typography rendering. Integrated via the Recraft v4.1 | Text to Image API on each::labs, it helps teams rapidly prototype visuals, generate social and marketing assets, and explore visual directions without leaving their existing workflows. ## 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.