Skip to the main content.

 

hf mega menuExplore Our Models on Hugging Face
Try Now

discord mega menu1Join Our Community
Bria's Discord

api menu button iconCreate Your First API Key
Sign Up

contact menu iconNeed More Help?
Contact Us

 

ro

hf mega menuExplore Our Models on Hugging Face
Try Now

discord mega menu1Join Our Community
Bria's Discord

api menu button iconCreate Your First API Key
Sign Up

contact menu iconNeed More Help?
Contact Us

 

AI Transform eCommerce Product Visuals

Scalable AI Building Blocks for powering next generation eCommerce apps and services

BRIA_LP_Ecommers_new-06

Discover Bria AI Product Shot Editing

Bria AI Product Shot Editing empowers eCommerce platform developers to integrate advanced AI capabilities and automate content pipelines for stunning, high-quality product visuals. Deploy these visuals across product pages, category pages, and galleries. Our suite offers pre-built pipelines accessible via robust APIs and iFrames, optimizing efficiency and enhancing visual appeal.

Automate Product Cutouts

Effortlessly isolate products from their backgrounds to create clean, focused images. This feature enhances automation flows and UI, ensuring a cohesive visual experience across your eCommerce platform, from product pages to galleries.

Input: Product image

Output: Clean high-quality product cutout

Use-Case:  This feature is ideal for powering editing workflows in e-commerce products and apps. High-quality product cutouts are crucial for eCommerce, ensuring consistent product presentation across the site.

BRIA_LP_Ecommers_new-04-1
import requests url = "https://engine.prod.bria-api.com/v1/product/cutout" payload = { "sku": "12345", "image_url": "URL" } headers = { "Content-Type": "application/json", "api_token": "string" } response = requests.post(url, json=payload, headers=headers) data = response.json() print(data) curl -i -X POST \ https://engine.prod.bria-api.com/v1/product/cutout \ -H 'Content-Type: application/json' \ -H 'api_token: string' \ -d '{ "sku": "12345", "image_url": "URL" }' const resp = await fetch( `https://engine.prod.bria-api.com/v1/product/cutout`, { method: 'POST', headers: { 'Content-Type': 'application/json', api_token: 'string' }, body: JSON.stringify({ sku: '12345', image_url: 'URL' }) } ); const data = await resp.json(); console.log(data); import fetch from 'node-fetch'; async function run() { const resp = await fetch( `https://engine.prod.bria-api.com/v1/product/cutout`, { method: 'POST', headers: { 'Content-Type': 'application/json', api_token: 'string' }, body: JSON.stringify({ sku: '12345', image_url: 'URL' }) } ); const data = await resp.json(); console.log(data); } run(); import java.net.*; import java.net.http.*; import java.util.*; public class App { public static void main(String[] args) throws Exception { var httpClient = HttpClient.newBuilder().build(); var payload = String.join("\n" , "{" , " \"sku\": \"12345\"," , " \"image_url\": \"URL\"" , "}" ); var host = "https://engine.prod.bria-api.com"; var pathname = "/v1/product/cutout"; var request = HttpRequest.newBuilder() .POST(HttpRequest.BodyPublishers.ofString(payload)) .uri(URI.create(host + pathname )) .header("Content-Type", "application/json") .header("api_token", "string") .build(); var response = httpClient.send(request, HttpResponse.BodyHandlers.ofString()); System.out.println(response.body()); } } /** * Requires libcurl */ $curl = curl_init(); $payload = array( "sku" => "12345", "image_url" => "URL" ); curl_setopt_array($curl, [ CURLOPT_HTTPHEADER => [ "Content-Type: application/json", "api_token: string" ], CURLOPT_POSTFIELDS => json_encode($payload), CURLOPT_URL => "https://engine.prod.bria-api.com/v1/product/cutout", CURLOPT_RETURNTRANSFER => true, CURLOPT_CUSTOMREQUEST => "POST", ]); $response = curl_exec($curl); $error = curl_error($curl); curl_close($curl); if ($error) { echo "cURL Error #:" . $error; } else { echo $response; }

Generate Product Pack Shots

Generate professional pack shots with plain backgrounds to highlight key product features and ensure a consistent presentation.

Input: Product image and background color

Output: Industry standard professional pack shot

Use-Case: This is particularly useful for product detail pages and galleries on e-commerce websites, providing a consistent and professional look

BRIA_LP_Ecommers_new-03-1
import requests url = "https://engine.prod.bria-api.com/v1/product/packshot" payload = { "sku": "12345", "image_url": "URL", "background_color": "#FFFFFF" } headers = { "Content-Type": "application/json", "api_token": "string" } response = requests.post(url, json=payload, headers=headers) data = response.json() print(data) curl -i -X POST \ https://engine.prod.bria-api.com/v1/product/packshot \ -H 'Content-Type: application/json' \ -H 'api_token: string' \ -d '{ "sku": "12345", "image_url": "URL", "background_color": "#FFFFFF" }' const resp = await fetch( `https://engine.prod.bria-api.com/v1/product/packshot`, { method: 'POST', headers: { 'Content-Type': 'application/json', api_token: 'string' }, body: JSON.stringify({ sku: '12345', image_url: 'URL', background_color: '#FFFFFF' }) } ); const data = await resp.json(); console.log(data); import fetch from 'node-fetch'; async function run() { const resp = await fetch( `https://engine.prod.bria-api.com/v1/product/packshot`, { method: 'POST', headers: { 'Content-Type': 'application/json', api_token: 'string' }, body: JSON.stringify({ sku: '12345', image_url: 'URL', background_color: '#FFFFFF' }) } ); const data = await resp.json(); console.log(data); } run(); import java.net.*; import java.net.http.*; import java.util.*; public class App { public static void main(String[] args) throws Exception { var httpClient = HttpClient.newBuilder().build(); var payload = String.join("\n" , "{" , " \"sku\": \"12345\"," , " \"image_url\": \"URL\"," , " \"background_color\": \"#FFFFFF\"" , "}" ); var host = "https://engine.prod.bria-api.com"; var pathname = "/v1/product/packshot"; var request = HttpRequest.newBuilder() .POST(HttpRequest.BodyPublishers.ofString(payload)) .uri(URI.create(host + pathname )) .header("Content-Type", "application/json") .header("api_token", "string") .build(); var response = httpClient.send(request, HttpResponse.BodyHandlers.ofString()); System.out.println(response.body()); } } /** * Requires libcurl */ $curl = curl_init(); $payload = array( "sku" => "12345", "image_url" => "URL", "background_color" => "#FFFFFF" ); curl_setopt_array($curl, [ CURLOPT_HTTPHEADER => [ "Content-Type: application/json", "api_token: string" ], CURLOPT_POSTFIELDS => json_encode($payload), CURLOPT_URL => "https://engine.prod.bria-api.com/v1/product/packshot", CURLOPT_RETURNTRANSFER => true, CURLOPT_CUSTOMREQUEST => "POST", ]); $response = curl_exec($curl); $error = curl_error($curl); curl_close($curl); if ($error) { echo "cURL Error #:" . $error; } else { echo $response; }

Generate Photorealistic Product Shadows

Add Shadows to Product Shots: Use the Product Shadow API to add consistent, customizable shadows to product images with transparent backgrounds. This enhances the realism of product shots, making them look more professional and visually appealing.

Input: Product image with a transparent background, shadow parameters like color, offset, intensity, and blur

Output: Product shot with a regular or floating shadow, customizable to fit your brand’s aesthetic

Use-Case: Elevating product images by adding depth and dimension, perfect for use in product catalogs, ads, and eCommerce listings.

BRIA_LP_Ecommers_new-15-1
import requests url = "https://engine.prod.bria-api.com/v1/product/shadow" payload = { "sku": "12345", "image_url": "URL" } headers = { "Content-Type": "application/json", "api_token": "string" } response = requests.post(url, json=payload, headers=headers) data = response.json() print(data) curl -i -X POST \ https://engine.prod.bria-api.com/v1/product/shadow \ -H 'Content-Type: application/json' \ -H 'api_token: string' \ -d '{ "sku": "12345", "image_url": "URL" }' const resp = await fetch( `https://engine.prod.bria-api.com/v1/product/shadow`, { method: 'POST', headers: { 'Content-Type': 'application/json', api_token: 'string' }, body: JSON.stringify({ sku: '12345', image_url: 'URL' }) } ); const data = await resp.json(); console.log(data); import fetch from 'node-fetch'; async function run() { const resp = await fetch( `https://engine.prod.bria-api.com/v1/product/shadow`, { method: 'POST', headers: { 'Content-Type': 'application/json', api_token: 'string' }, body: JSON.stringify({ sku: '12345', image_url: 'URL' }) } ); const data = await resp.json(); console.log(data); } run(); import java.net.*; import java.net.http.*; import java.util.*; public class App { public static void main(String[] args) throws Exception { var httpClient = HttpClient.newBuilder().build(); var payload = String.join("\n" , "{" , " \"sku\": \"12345\"," , " \"image_url\": \"URL\"" , "}" ); var host = "https://engine.prod.bria-api.com"; var pathname = "/v1/product/shadow"; var request = HttpRequest.newBuilder() .POST(HttpRequest.BodyPublishers.ofString(payload)) .uri(URI.create(host + pathname )) .header("Content-Type", "application/json") .header("api_token", "string") .build(); var response = httpClient.send(request, HttpResponse.BodyHandlers.ofString()); System.out.println(response.body()); } } /** * Requires libcurl */ $curl = curl_init(); $payload = array( "sku" => "12345", "image_url" => "URL" ); curl_setopt_array($curl, [ CURLOPT_HTTPHEADER => [ "Content-Type: application/json", "api_token: string" ], CURLOPT_POSTFIELDS => json_encode($payload), CURLOPT_URL => "https://engine.prod.bria-api.com/v1/product/shadow", CURLOPT_RETURNTRANSFER => true, CURLOPT_CUSTOMREQUEST => "POST", ]); $response = curl_exec($curl); $error = curl_error($curl); curl_close($curl); if ($error) { echo "cURL Error #:" . $error; } else { echo $response; }

Use Text Prompts for Lifestyle Shots 

Use descriptive text prompts to position products in dynamic environments. Enhances product appeal by providing context, creating emotional connections, and demonstrating functionality.

Input: Product image, descriptive text that describes the environment

Output: Different variations of the product shot in the described environment

Use-Case: Enhancing product catalogs to showcase products in context and drive engagement on product pages.

BRIA_LP_Ecommers_new-02-1
import requests url = "https://engine.prod.bria-api.com/v1/product/lifestyle_shot_by_text" payload = { "image_url": "IMAGE_URL", "scene_description": "In a living room interior, on a kitchen counter", "placement_type": "original", "num_results": 2, "original_quality": True, "optimize_description": True, "sync": True } headers = { "Content-Type": "application/json", "api_token": "string" } response = requests.post(url, json=payload, headers=headers) data = response.json() print(data) curl -i -X POST \ https://engine.prod.bria-api.com/v1/product/lifestyle_shot_by_text \ -H 'Content-Type: application/json' \ -H 'api_token: string' \ -d '{ "image_url": "IMAGE_URL", "scene_description": "In a living room interior, on a kitchen counter", "placement_type": "original", "num_results": 2, "original_quality": true, "optimize_description": true, "sync": true }' const resp = await fetch( `https://engine.prod.bria-api.com/v1/product/lifestyle_shot_by_text`, { method: 'POST', headers: { 'Content-Type': 'application/json', api_token: 'string' }, body: JSON.stringify({ image_url: 'IMAGE_URL', scene_description: 'In a living room interior, on a kitchen counter', placement_type: 'original', num_results: 2, original_quality: true, optimize_description: true, sync: true }) } ); const data = await resp.json(); console.log(data); import fetch from 'node-fetch'; async function run() { const resp = await fetch( `https://engine.prod.bria-api.com/v1/product/lifestyle_shot_by_text`, { method: 'POST', headers: { 'Content-Type': 'application/json', api_token: 'string' }, body: JSON.stringify({ image_url: 'IMAGE_URL', scene_description: 'In a living room interior, on a kitchen counter', placement_type: 'original', num_results: 2, original_quality: true, optimize_description: true, sync: true }) } ); const data = await resp.json(); console.log(data); } run(); import java.net.*; import java.net.http.*; import java.util.*; public class App { public static void main(String[] args) throws Exception { var httpClient = HttpClient.newBuilder().build(); var payload = String.join("\n" , "{" , " \"image_url\": \"IMAGE_URL\"," , " \"scene_description\": \"In a living room interior, on a kitchen counter\"," , " \"placement_type\": \"original\"," , " \"num_results\": 2," , " \"original_quality\": true," , " \"optimize_description\": true," , " \"sync\": true" , "}" ); var host = "https://engine.prod.bria-api.com"; var pathname = "/v1/product/lifestyle_shot_by_text"; var request = HttpRequest.newBuilder() .POST(HttpRequest.BodyPublishers.ofString(payload)) .uri(URI.create(host + pathname )) .header("Content-Type", "application/json") .header("api_token", "string") .build(); var response = httpClient.send(request, HttpResponse.BodyHandlers.ofString()); System.out.println(response.body()); } } /** * Requires libcurl */ $curl = curl_init(); $payload = array( "image_url" => "IMAGE_URL", "scene_description" => "In a living room interior, on a kitchen counter", "placement_type" => "original", "num_results" => 2, "original_quality" => true, "optimize_description" => true, "sync" => true ); curl_setopt_array($curl, [ CURLOPT_HTTPHEADER => [ "Content-Type: application/json", "api_token: string" ], CURLOPT_POSTFIELDS => json_encode($payload), CURLOPT_URL => "https://engine.prod.bria-api.com/v1/product/lifestyle_shot_by_text", CURLOPT_RETURNTRANSFER => true, CURLOPT_CUSTOMREQUEST => "POST", ]); $response = curl_exec($curl); $error = curl_error($curl); curl_close($curl); if ($error) { echo "cURL Error #:" . $error; } else { echo $response; }

Use Reference Images to Inspire Lifestyle Shots

Use reference images to inspire the style and structure of the generated product shot to set the scene.

Input: Product image and scene reference image

Output: Industry standard professional pack shot

Use-Case: Enhancing product catalogs to showcase products in context and drive engagement on product pages.

BRIA_LP_Ecommers_new-09
import requests url = "https://engine.prod.bria-api.com/v1/product/lifestyle_shot_by_image" payload = { "image_url": "URL", "ref_image_urls": [ "REFERENCE_URL" ], "num_results": 2, "sync": True } headers = { "Content-Type": "application/json", "api_token": "string" } response = requests.post(url, json=payload, headers=headers) data = response.json() print(data) curl -i -X POST \ https://engine.prod.bria-api.com/v1/product/lifestyle_shot_by_image \ -H 'Content-Type: application/json' \ -H 'api_token: string' \ -d '{ "image_url": "URL", "ref_image_urls": [ "REFERENCE_URL" ], "num_results": 2, "sync": true }' const resp = await fetch( `https://engine.prod.bria-api.com/v1/product/lifestyle_shot_by_image`, { method: 'POST', headers: { 'Content-Type': 'application/json', api_token: 'string' }, body: JSON.stringify({ image_url: 'URL', ref_image_urls: ['REFERENCE_URL'], num_results: 2, sync: true }) } ); const data = await resp.json(); console.log(data); import fetch from 'node-fetch'; async function run() { const resp = await fetch( `https://engine.prod.bria-api.com/v1/product/lifestyle_shot_by_image`, { method: 'POST', headers: { 'Content-Type': 'application/json', api_token: 'string' }, body: JSON.stringify({ image_url: 'URL', ref_image_urls: ['REFERENCE_URL'], num_results: 2, sync: true }) } ); const data = await resp.json(); console.log(data); } run(); import java.net.*; import java.net.http.*; import java.util.*; public class App { public static void main(String[] args) throws Exception { var httpClient = HttpClient.newBuilder().build(); var payload = String.join("\n" , "{" , " \"image_url\": \"URL\"," , " \"ref_image_urls\": [" , " \"REFERENCE_URL\"" , " ]," , " \"num_results\": 2," , " \"sync\": true" , "}" ); var host = "https://engine.prod.bria-api.com"; var pathname = "/v1/product/lifestyle_shot_by_image"; var request = HttpRequest.newBuilder() .POST(HttpRequest.BodyPublishers.ofString(payload)) .uri(URI.create(host + pathname )) .header("Content-Type", "application/json") .header("api_token", "string") .build(); var response = httpClient.send(request, HttpResponse.BodyHandlers.ofString()); System.out.println(response.body()); } } /** * Requires libcurl */ $curl = curl_init(); $payload = array( "image_url" => "URL", "ref_image_urls" => array( "REFERENCE_URL" ), "num_results" => 2, "sync" => true ); curl_setopt_array($curl, [ CURLOPT_HTTPHEADER => [ "Content-Type: application/json", "api_token: string" ], CURLOPT_POSTFIELDS => json_encode($payload), CURLOPT_URL => "https://engine.prod.bria-api.com/v1/product/lifestyle_shot_by_image", CURLOPT_RETURNTRANSFER => true, CURLOPT_CUSTOMREQUEST => "POST", ]); $response = curl_exec($curl); $error = curl_error($curl); curl_close($curl); if ($error) { echo "cURL Error #:" . $error; } else { echo $response; }

Create Consistent Studio Shots for All Products

Ensure uniformity across product shots for a cohesive brand aesthetic, enhancing professionalism and customer trust.

Input: Multiple product images and the desired scene that could be a simple color background or reference image

Output: Consistent product shots

Use-Case: Ensures a cohesive brand aesthetic in catalogs and product gallery pages.

BRIA_LP_Ecommers4_new
import requests url = "https://engine.prod.bria-api.com/v1/products/consistent_shots" response = requests.post(url) data = response.json() print(data) curl -i -X POST \ https://engine.prod.bria-api.com/v1/products/consistent_shots const resp = await fetch( `https://engine.prod.bria-api.com/v1/products/consistent_shots`, {method: 'POST'} ); const data = await resp.text(); console.log(data); import fetch from 'node-fetch'; async function run() { const resp = await fetch( `https://engine.prod.bria-api.com/v1/products/consistent_shots`, {method: 'POST'} ); const data = await resp.text(); console.log(data); } run(); import java.net.*; import java.net.http.*; import java.util.*; public class App { public static void main(String[] args) throws Exception { var httpClient = HttpClient.newBuilder().build(); var host = "https://engine.prod.bria-api.com"; var pathname = "/v1/products/consistent_shots"; var request = HttpRequest.newBuilder() .POST(HttpRequest.BodyPublishers.ofString("some body text")) .uri(URI.create(host + pathname )) .build(); var response = httpClient.send(request, HttpResponse.BodyHandlers.ofString()); System.out.println(response.body()); } } /** * Requires libcurl */ $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => "https://engine.prod.bria-api.com/v1/products/consistent_shots", CURLOPT_RETURNTRANSFER => true, CURLOPT_CUSTOMREQUEST => "POST", ]); $response = curl_exec($curl); $error = curl_error($curl); curl_close($curl); if ($error) { echo "cURL Error #:" . $error; } else { echo $response; }

Contextual Keyword Extraction Product Cutouts

Enhance SEO by extracting relevant keywords tailored to each product SKU, improving search visibility and content management.

Input: Product image and product description

Output: Automated keyword extraction tailored to the specific product being sold

Use-Case: Enhances SEO by providing relevant keywords, improving search engine rankings, and optimizing content management and social media marketing efforts

BRIA_LP_Ecommers_women
import requests url = "https://engine.prod.bria-api.com/v1/product/contextual_keyword_extraction" response = requests.post(url) data = response.json() print(data) curl -i -X POST \ https://engine.prod.bria-api.com/v1/product/contextual_keyword_extraction const resp = await fetch( `https://engine.prod.bria-api.com/v1/product/contextual_keyword_extraction`, {method: 'POST'} ); const data = await resp.text(); console.log(data); import fetch from 'node-fetch'; async function run() { const resp = await fetch( `https://engine.prod.bria-api.com/v1/product/contextual_keyword_extraction`, {method: 'POST'} ); const data = await resp.text(); console.log(data); } run(); import java.net.*; import java.net.http.*; import java.util.*; public class App { public static void main(String[] args) throws Exception { var httpClient = HttpClient.newBuilder().build(); var host = "https://engine.prod.bria-api.com"; var pathname = "/v1/product/contextual_keyword_extraction"; var request = HttpRequest.newBuilder() .POST(HttpRequest.BodyPublishers.ofString("some body text")) .uri(URI.create(host + pathname )) .build(); var response = httpClient.send(request, HttpResponse.BodyHandlers.ofString()); System.out.println(response.body()); } } /** * Requires libcurl */ $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => "https://engine.prod.bria-api.com/v1/product/contextual_keyword_extraction", CURLOPT_RETURNTRANSFER => true, CURLOPT_CUSTOMREQUEST => "POST", ]); $response = curl_exec($curl); $error = curl_error($curl); curl_close($curl); if ($error) { echo "cURL Error #:" . $error; } else { echo $response; }

Get BRIA on Your Favorite Platform

Access BRIA's powerful products directly within the tools and platforms you already love, enabling you to seamlessly integrate cutting-edge AI capabilities while staying in your natural workflow.

Responsible and Open Visual Generative AI

At Bria AI, we are dedicated to responsible AI, using licensed data and compensating our data owners and artists through our patented attribution engine. Our commitment to responsible and ethical AI practices ensures you can trust our technology. With Bria, you can also license our model with access to source code and weights or use our APIs and iFrame integration, which empowers you to build without limits. 

eCommerce Suite Pricing

Our eCommerce Suite is an add-on to our Professional and Enterprise plans, with pay-per-product shot pricing. Simple and predictable to streamline budgeting and enhance your eCommerce platform.

Ready to AI-transform
eCommerce Content Production?

Contact us to explore how our eCommerce Suite can transform content production at scale. Schedule a demo today.