---
title: "Reflections"
method: POST
path: "/product/vehicle/generate_reflections"
tags: ["Automotive Endpoints"]
---

# Reflections

`POST /product/vehicle/generate_reflections`

[**Try out this capability in Bria's Automobile Playground**](https://console.bria.ai/automotive)

**Description**
Generates realistic reflections on relevant surfaces of a product image, such as glass, metal, or glossy materials.


Reflection masks can be provided manually or generated automatically using our segmentation tools.


The output includes an updated image with applied reflections and optional reflection layers per region.

## Headers

- `api_token` string, required

## Request body

- object
  - `image_url` string — The URL of the vehicle shot. If both image_url and file are provided, image_url will be used. Accepted formats are jpeg, jpg, png, webp. Max file size 12MB.
  - `file` string — The vehicle shot file in base64 format. Used only if image_url is not provided. Accepted formats are jpeg, jpg, png, webp. Max file size 12MB.
  - `masks` object — An object containing URLs to binary masks for each region to apply reflections on. Accepted keys are `windshield`, `rear_window`, `side_windows`, `body`, `wheels`.
  - `layers` boolean — If true, returns separate images per region along with the full composite. If false, only the full image is returned.
  - `seed` integer — Optional seed for consistent reflection results.

## Response `200`

Reflections successfully applied.

- object
  - `url` string — The URL of the image with reflections applied.
  - `seed` integer — The seed used to generate the reflections.
  - `layers` object — Returned only when layers=true. Contains region-specific reflection images.

## Other responses

- `400` — Bad request. Missing or invalid parameters.
- `401` — Unauthorized. Invalid API key or authentication token.
- `403` — Forbidden
- `404` — Not found. Image could not be found at the provided URL.
- `413` — Payload too large. Image file size exceeds the 12MB limit.
- `415` — Unsupported media type. Supported types are jpeg, jpg, png, webp.
- `422` — Unprocessable Content
- `429` — Request limit exceeded. Your account has reached its maximum allowed requests. Please upgrade your plan or try again later.
- `460` — Failed to download image.
- `500` — Internal server error. An error occurred on the server.

---

[API](https://skmtc.net/bria-ai/apis/product-shot-api-reference.md) · [All operations](https://skmtc.net/bria-ai/apis/product-shot-api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/bria-ai/product-shot-api-reference/revisions/02853e3865f7/schema)
