# Luma Photon | Flash | Reframe Image luma-photon-flash-reframe is an image model designed for fast and high-quality reframing. ## API Information - **Model Slug:** luma-photon-flash-reframe-image - **Branded URL:** https://www.eachlabs.ai/luma/luma-reframe/luma-photon-flash-reframe-image - **Provider:** Luma - **Category:** Image to Image - **Output Type:** image - **Status:** active - **Version:** 0.0.1 - **Base Cost:** $0.005 per execution - **Estimated Processing Time:** 60 seconds - **Last Updated:** 2026-04-16 - **Interactive Demo:** https://www.eachlabs.ai/ai-models/luma-photon-flash-reframe-image ## Pricing - **Charge Type:** dynamic - **Estimate:** $0.005 per execution - **Pricing Details:** default: $0.005 ## Input Schema | Parameter | Type | Required | Default | Constraints | Description | |-----------|------|----------|---------|-------------|-------------| | image_url | string | Yes | - | - | URL of the input image to reframe | | aspect_ratio | string | Yes | 16:9 | 1:1,16:9,9:16,4:3,3:4,21:9,9:21 | The aspect ratio of the reframed image | | prompt | string | No | - | - | Optional prompt for reframing | | grid_position_x | integer | No | - | - | X position of the grid for reframing | | grid_position_y | integer | No | - | - | Y position of the grid for reframing | | x_end | integer | No | - | - | End X coordinate for reframing | | x_start | integer | No | - | - | Start X coordinate for reframing | | y_end | integer | No | - | - | End Y coordinate for reframing | | y_start | integer | No | - | - | Start Y coordinate for reframing | ## 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": "luma-photon-flash-reframe-image", "input": { "aspect_ratio": "16:9", "image_url": "https://cdn-us.eachlabs.ai/defaults/f09d71004046abaeb978fd85f37fc643d9479e800dd9754e87a6aeef0261df58.png" } }' ``` ## 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 **luma-photon-flash-reframe-image — Image-to-Image AI Model** Developed by Luma as part of the revolutionary Photon Flash family, luma-photon-flash-reframe-image is a fast and high-quality image-to-image AI model designed specifically for reframing tasks. This model solves a critical problem for creators and developers: transforming existing images through intelligent recomposition, resizing, and repositioning without losing quality or requiring manual editing. Whether you need to adjust framing for different platforms, reposition subjects within a scene, or adapt images for various aspect ratios, luma-photon-flash-reframe-image delivers rapid results with superior image quality. As part of Luma's Photon Flash lineup, this image-to-image AI model combines speed with precision, making it ideal for workflows where both quality and processing time matter. The model accepts image inputs alongside text prompts or reframing parameters, enabling users to guide the transformation with natural language instructions. ## 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.