# Luma | Uni-1 | Edit Luma Uni-1 Edit transforms existing images using text instructions while preserving the original composition, with optional reference images to guide the final result. ## API Information - **Model Slug:** luma-uni-1-edit - **Branded URL:** https://www.eachlabs.ai/luma/luma-uni/luma-uni-1-edit - **Provider:** Luma - **Category:** Image to Image - **Output Type:** image - **Status:** active - **Version:** 0.0.1 - **Base Cost:** Edit pricing: $0.042 base plus $0.003 per source/reference image - **Estimated Processing Time:** 60 seconds - **Last Updated:** 2026-06-09 - **Interactive Demo:** https://www.eachlabs.ai/ai-models/luma-uni-1-edit ## Pricing - **Charge Type:** dynamic - **Estimated Price (default example):** $0.0450 - **Pricing Details:** Edit pricing: $0.042 base plus $0.003 per source/reference image ### Pricing Rules | Condition | Pricing | | --- | --- | | Rule 1 | Edit pricing: $0.042 base plus $0.003 per source/reference image | ## Input Schema No input parameters documented. ## 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": "luma-uni-1-edit", "input": {} }' ``` ## 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 | ## Overview **Luma | Uni-1 | Edit Overview** Luma | Uni-1 | Edit is an **image-to-image** editing model designed to transform an existing image from text instructions while preserving the original composition. On each::labs, it fits users who need controlled visual changes without rebuilding the scene from scratch. The model’s main differentiator is that it emphasizes **instruction-based editing** with optional reference images, making it useful when you want to keep the subject, layout, or framing intact while changing style, details, or scene elements. As part of the Luma family, Luma | Uni-1 | Edit is positioned for practical production workflows where consistency matters. It is a strong fit for creators, marketers, and designers who need fast iterative edits, versioning, or localized image changes. In Luma | Uni-1 | Edit API workflows, the value comes from combining a source image with a precise prompt so the model can modify only what needs to change. ## 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.