# Product Shoot Product Shoot is an image-to-image model optimized for generating high-quality product visuals. It enhances or restyles input images while preserving object structure, lighting, and composition, making it suitable for catalog, e-commerce, and brand-specific content generation. ## API Information - **Model Slug:** product-shoot - **Branded URL:** https://www.eachlabs.ai/eachlabs/eachlabs/product-shoot - **Provider:** each::labs - **Category:** Image to Image - **Output Type:** image - **Status:** active - **Version:** 0.0.1 - **Base Cost:** Fixed price per execution: $0.08 - **Estimated Processing Time:** 12 seconds - **Last Updated:** 2026-04-06 - **Interactive Demo:** https://www.eachlabs.ai/ai-models/product-shoot ## Pricing - **Charge Type:** dynamic - **Estimated Price (default example):** $0.0800 - **Pricing Details:** Fixed price per execution: $0.08 ### Pricing Rules | Condition | Pricing | | --- | --- | | Rule 1 | Fixed price per execution: $0.08 | ## Input Schema | Parameter | Type | Required | Default | Constraints | Description | |-----------|------|----------|---------|-------------|-------------| | prompt | string | Yes | - | - | - | | input_image_1 | string | Yes | - | - | First input image. Must be jpeg, png, gif, or webp. | | input_image_2 | string | Yes | - | - | Second input image. Must be jpeg, png, gif, or webp. | | aspect_ratio | string | No | match_input_image | match_input_image,1:1,16:9,9:16,4:3,3:4,3:2,2:3,4:5,5:4,21:9,9:21,2:1,1:2 | - | ## 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": "product-shoot", "input": { "input_image_2": "https://storage.googleapis.com/magicpoint/inputs/product-shoot-input2.webp", "input_image_1": "https://storage.googleapis.com/magicpoint/inputs/product-shoot-input-1.webp", "prompt": "Create a realistic, high-quality photo where the woman is naturally holding the small perfume bottle in her right hand, positioned slightly in front of her body. The woman facial expression, pose, lighting, clothing, and background must remain exactly the same as in the original image. The perfume bottle should appear perfectly integrated into her hand — with correct perspective, scale, and natural shadows. Ensure that the final result looks like a professional beauty product advertisement with elegant composition and soft studio lighting. Do not alter the woman face, hand posture, or outfit. Make the final image clean, minimal, and visually appealing." } }' ``` ## 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 **product-shoot — Image-to-Image AI Model** product-shoot from eachlabs revolutionizes e-commerce visuals by transforming input product images into professional-grade shots, preserving exact object structure, lighting, and composition for catalog-ready outputs. This **image-to-image AI model** excels in generating high-fidelity variations ideal for **AI photo editing for e-commerce**, eliminating costly studio reshoots. Developed by eachlabs as part of the eachlabs family, product-shoot delivers photorealistic enhancements that maintain brand consistency across product lines. ## 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.