GET

/v1/schemas/fal/image/fal-ai%2Fbria%2Fproduct-shot

kind inputactivity imagehash 3cda1b27extracted Jul 6, 2026version currentsource upstream spec ↗

Request body

12 properties · 1 required · 0 $defs
propertytypedescriptionconstraints
image_url*stringThe URL of the product shot to be placed in a lifestyle shot. If both image_url and image_file are provided, image_url will be used. Accepted formats are jpeg, jpg, png, webp. Maximum file size 12MB.
original_qualitybooleanThis flag is only relevant when placement_type=original. If true, the output image retains the original input image's size; otherwise, the image is scaled to 1 megapixel (1MP) while preserving its aspect ratio.default: false
scene_descriptionstringText description of the new scene or background for the provided product shot. Bria currently supports prompts in English only, excluding special characters.nullable
placement_typeenumThis parameter allows you to control the positioning of the product in the image. Choosing 'original' will preserve the original position of the product in the image. Choosing 'automatic' will generate results with the 10 recommended positions for the product.…original | automatic | manual_placement | manual_padding · default: "manual_placement"
fastbooleanWhether to use the fast modeldefault: true
ref_image_urlstringThe URL of the reference image to be used for generating the new scene or background for the product shot. Use "" to leave empty.Either ref_image_url or scene_description has to be provided but not both. If both ref_image_url and ref_image_file are provided, r…default: ""
shot_sizeinteger[]The desired size of the final product shot. For optimal results, the total number of pixels should be around 1,000,000. This parameter is only relevant when placement_type=automatic or placement_type=manual_placement.default: [1000,1000]
padding_valuesinteger[]The desired padding in pixels around the product, when using placement_type=manual_padding. The order of the values is [left, right, top, bottom]. For optimal results, the total number of pixels, including padding, should be around 1,000,000. It is recommended…
optimize_descriptionbooleanWhether to optimize the scene descriptiondefault: true
sync_modebooleanIf `True`, the media will be returned as a data URI and the output data won't be available in the request history.default: false
manual_placement_selectionenumIf you've selected placement_type=manual_placement, you should use this parameter to specify which placements/positions you would like to use from the list. You can select more than one placement in one request.upper_left | upper_right | bottom_left | bottom_right | right_center | left_center · +4 more · default: "bottom_center"
num_resultsintegerThe number of lifestyle product shots you would like to generate. You will get num_results x 10 results when placement_type=automatic and according to the number of required placements x num_results if placement_type=manual_placement.1 ≤ n ≤ 4 · default: 1

Validate a payload

before you spend tokens
shell
$ curl -X POST https://modelschemas.com/v1/validate \
    -d '{"provider":"fal","endpointId":"fal-ai/bria/product-shot","payload":{…}}'
→ {"valid": false, "errors": [{"path": "#", "keyword": "required", …}]}