# GPT Image | v2.5 | Sunburst | Text to Image OpenAI’s high-fidelity image model, designed for polished visual output and fine-grained detail, with longer generation times in return for higher precision and quality. ## API Information - **Model Slug:** gpt-image-v2-5-sunburst-text-to-image - **Branded URL:** https://www.eachlabs.ai/openai/gpt-image/gpt-image-v2-5-sunburst-text-to-image - **Provider:** OpenAI - **Category:** Text to Image - **Output Type:** array - **Status:** active - **Base Cost:** $0.0048–$0.7116 per image, depending on size and quality - **Interactive Demo:** https://www.eachlabs.ai/ai-models/gpt-image-v2-5-sunburst-text-to-image ## Pricing - **Charge Type:** dynamic - **Estimate:** $0.0048–$0.7116 per image, depending on size and quality - **Pricing Details:** 1024x1024 · low: $0.0059 - **Pricing Details:** 1024x1024 · medium: $0.0132 - **Pricing Details:** 1024x1024 · high: $0.0527 - **Pricing Details:** 1024x1024 · xhigh: $0.0937 - **Pricing Details:** 1024x1024 · max: $0.2108 - **Pricing Details:** 1536x1024 or 1024x1536 · low: $0.0048 - **Pricing Details:** 1536x1024 or 1024x1536 · medium: $0.0103 - **Pricing Details:** 1536x1024 or 1024x1536 · high: $0.0412 - **Pricing Details:** 1536x1024 or 1024x1536 · xhigh: $0.0738 - **Pricing Details:** 1536x1024 or 1024x1536 · max: $0.1647 - **Pricing Details:** 2048x2048 · low: $0.012 - **Pricing Details:** 2048x2048 · medium: $0.0268 - **Pricing Details:** 2048x2048 · high: $0.1071 - **Pricing Details:** 2048x2048 · xhigh: $0.1903 - **Pricing Details:** 2048x2048 · max: $0.4282 - **Pricing Details:** 2048x1152 · low: $0.0048 - **Pricing Details:** 2048x1152 · medium: $0.0111 - **Pricing Details:** 2048x1152 · high: $0.0424 - **Pricing Details:** 2048x1152 · xhigh: $0.0754 - **Pricing Details:** 2048x1152 · max: $0.1695 - **Pricing Details:** 3840x2160 or 2160x3840 · low: $0.0112 - **Pricing Details:** 3840x2160 or 2160x3840 · medium: $0.026 - **Pricing Details:** 3840x2160 or 2160x3840 · high: $0.1001 - **Pricing Details:** 3840x2160 or 2160x3840 · xhigh: $0.1779 - **Pricing Details:** 3840x2160 or 2160x3840 · max: $0.4003 - **Pricing Details:** largest custom size (2880x2880) · max: $0.7116 ## Input Schema | Parameter | Type | Required | Default | Constraints | Description | |-----------|------|----------|---------|-------------|-------------| | prompt | string | Yes | - | - | Text prompt describing the desired image. Max 32000 characters. | | size | string | No | 1024x1024 | 1024x1024, 1536x1024, 1024x1536, 2048x2048, 2048x1152, 3840x2160, 2160x3840, auto, custom | Output image resolution. Standard 1K options: 1024x1024 (square), 1536x1024 (landscape), 1024x1536 (portrait). 2K: 2048x2048, 2048x1152. 4K: 3840x2160, 2160x3840 (resolutions above 2560x1440 are experimental). Use 'auto' to let the model choose. Custom WIDTHxHEIGHT constraints: both edges multiples of 16, max edge 3840px, aspect ratio between 1:3 and 3:1, total pixels between 655,360 and 8,294,400. | | num_images | integer | No | 1 | 1–10 | Number of images to generate (1-10). | | quality | string | No | auto | low, medium, high, xhigh, max, auto | Output image quality. 'low' for fast drafts, 'medium'/'high' for final assets, 'xhigh'/'max' for maximum detail at higher cost and latency. | | output_format | string | No | png | jpeg, png, webp | Output image format. 'jpeg' is faster than 'png'; 'png' or 'webp' required for transparent backgrounds. | | background | string | No | auto | opaque, transparent, auto | Background behavior. 'transparent' requires output_format 'png' or 'webp'. | | moderation | string | No | low | low, auto | Content moderation level. 'low' is less restrictive, 'auto' is standard filtering. | | output_compression | integer | No | - | 0–100 | Compression level (0-100) for 'jpeg' and 'webp' output. Ignored for 'png'. | ## 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": "gpt-image-v2-5-sunburst-text-to-image", "input": { "prompt": "A photorealistic studio portrait of a young woman completely covered in sticky notes, plastered across her face, her hair, her shoulders and her blazer. She is beaming, a wide open genuine smile with her eyes crinkled, clearly delighted rather than overwhelmed. Short dark bob with a soft fringe, freckles, natural skin texture, wearing a beige oversized blazer over a white collared shirt and a slim dark tie.\n\nThe sticky notes are orange, yellow, pink and pale green, layered densely and overlapping at slightly different angles, some curling at the corners. Every single orange note has \"each::labs\" written on it in neat handwritten black marker, clearly legible. The notes in the other colours have illegible scribbled handwriting and small doodles, no readable words.\n\nPlain warm grey seamless studio background. Soft even frontal lighting with gentle shadows under the notes. Shot on 85mm, shallow depth of field, sharp focus on her face, editorial fashion photography, fine grain." } }' ``` ## 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 **GPT Image | v2.5 | Sunburst | Text to Image Overview** GPT Image | v2.5 | Sunburst | Text to Image is OpenAI’s high-precision text-to-image model, designed for premium visual workflows that demand tight control over edits and fine-grained detail. Operating within the GPT Image 2.5 family, it extends the capabilities of earlier GPT Image 2 models by focusing on higher fidelity, more accurate instruction-following, and improved editing behavior. The primary differentiator of GPT Image | v2.5 | Sunburst | Text to Image is its ability to deliver polished, production-ready imagery at the cost of longer generation times compared to the faster Flare variant, making it ideal for campaign creative, product photography, and other detail-sensitive use cases. ## 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.