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

 

Revolutionize Commercial Image Editing with AI


Build and integrate state-of-the-art AI image editing into commercial apps and services

image editing header

A Toolkit for Building Next-Gen Image Editing

AI Editing unlocks the power of generative AI for scalable content production in your apps and services. Our complete API toolkit provides everything you need to build seamless AI image editing solutions, achieving perfect composition, style, and commercial-grade quality with full compliance.

In The Spotlight

replace bg bag

Generate Background

Generate a new background for an image while preserving the original subject, guided by a prompt or reference image.

comfyui logoComfyUI node | API Docs | API Demo

BRIA_genfill_man

Generative Fill

Generate elements in a specific region of an image, using a mask and a textual prompt.

comfyui logoComfyUI node | API Docs | API Demo

ERASER_API_blog15-31

Eraser

Effortlessly remove unwanted elements from images and fill the space with authentic, high-fidelity AI-generated content.

comfyui logoComfyUI node | API Docs | API Demo

AI Image Editing APIs

Access Bria’s powerful capabilities via API.
Easily integrate them into your workflow, product, or platform.

Generative Fill

Generate elements in a specific region of an image, using a mask and a textual prompt.

import requests url = "https://engine.prod.bria-api.com/v1/gen_fill" payload = { "image_url": "string", "file": "string", "mask_url": "string", "mask_file": "string", "mask_type": "manual", "prompt": "string", "negative_prompt": "string", "num_results": 4, "sync": False, "seed": 0, "content_moderation": False } 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/gen_fill \ -H 'Content-Type: application/json' \ -H 'api_token: string' \ -d '{ "image_url": "string", "file": "string", "mask_url": "string", "mask_file": "string", "mask_type": "manual", "prompt": "string", "negative_prompt": "string", "num_results": 4, "sync": false, "seed": 0, "content_moderation": false }' const resp = await fetch( `https://engine.prod.bria-api.com/v1/gen_fill`, { method: 'POST', headers: { 'Content-Type': 'application/json', api_token: 'string' }, body: JSON.stringify({ image_url: 'string', file: 'string', mask_url: 'string', mask_file: 'string', mask_type: 'manual', prompt: 'string', negative_prompt: 'string', num_results: 4, sync: false, seed: 0, content_moderation: false }) } ); 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/gen_fill`, { method: 'POST', headers: { 'Content-Type': 'application/json', api_token: 'string' }, body: JSON.stringify({ image_url: 'string', file: 'string', mask_url: 'string', mask_file: 'string', mask_type: 'manual', prompt: 'string', negative_prompt: 'string', num_results: 4, sync: false, seed: 0, content_moderation: false }) } ); 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\": \"string\"," , " \"file\": \"string\"," , " \"mask_url\": \"string\"," , " \"mask_file\": \"string\"," , " \"mask_type\": \"manual\"," , " \"prompt\": \"string\"," , " \"negative_prompt\": \"string\"," , " \"num_results\": 4," , " \"sync\": false," , " \"seed\": 0," , " \"content_moderation\": false" , "}" ); var host = "https://engine.prod.bria-api.com"; var pathname = "/v1/gen_fill"; 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" => "string", "file" => "string", "mask_url" => "string", "mask_file" => "string", "mask_type" => "manual", "prompt" => "string", "negative_prompt" => "string", "num_results" => 4, "sync" => false, "seed" => 0, "content_moderation" => false ); 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/gen_fill", 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; }

Eraser

Remove unwanted elements or clean up areas in an image using a mask

import requests url = "https://engine.prod.bria-api.com/v1/eraser" payload = { "image_url": "URL", "mask_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/eraser \ -H 'Content-Type: application/json' \ -H 'api_token: string' \ -d '{ "image_url": "URL", "mask_url": "URL" }' const resp = await fetch( `https://engine.prod.bria-api.com/v1/eraser`, { method: 'POST', headers: { 'Content-Type': 'application/json', api_token: 'string' }, body: JSON.stringify({ image_url: 'URL', mask_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/eraser`, { method: 'POST', headers: { 'Content-Type': 'application/json', api_token: 'string' }, body: JSON.stringify({ image_url: 'URL', mask_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" , "{" , " \"image_url\": \"URL\"," , " \"mask_url\": \"URL\"" , "}" ); var host = "https://engine.prod.bria-api.com"; var pathname = "/v1/eraser"; 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", "mask_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/eraser", 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 Background

Generate a new background for an image while preserving the original subject.

import requests url = "https://engine.prod.bria-api.com/v1/background/replace" payload = { "bg_prompt": "in a living room interior, on a kitchen counter", "num_results": 2, "sync": True, "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/background/replace \ -H 'Content-Type: application/json' \ -H 'api_token: string' \ -d '{ "bg_prompt": "in a living room interior, on a kitchen counter", "num_results": 2, "sync": true, "image_url": "URL" }' const resp = await fetch( `https://engine.prod.bria-api.com/v1/background/replace`, { method: 'POST', headers: { 'Content-Type': 'application/json', api_token: 'string' }, body: JSON.stringify({ bg_prompt: 'in a living room interior, on a kitchen counter', num_results: 2, sync: true, 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/background/replace`, { method: 'POST', headers: { 'Content-Type': 'application/json', api_token: 'string' }, body: JSON.stringify({ bg_prompt: 'in a living room interior, on a kitchen counter', num_results: 2, sync: true, 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" , "{" , " \"bg_prompt\": \"in a living room interior, on a kitchen counter\"," , " \"num_results\": 2," , " \"sync\": true," , " \"image_url\": \"URL\"" , "}" ); var host = "https://engine.prod.bria-api.com"; var pathname = "/v1/background/replace"; 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( "bg_prompt" => "in a living room interior, on a kitchen counter", "num_results" => 2, "sync" => true, "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/background/replace", 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; }

Remove Background

Isolate the foreground by removing the background.

import requests url = "https://engine.prod.bria-api.com/v1/background/remove" data = { "image_url": "https://i.natgeofe.com/n/548467d8-c5f1-4551-9f58-6817a8d2c45e/NationalGeographic_2572187_square.jpg" } headers = { "Content-Type": "multipart/form-data", "api_token": "string" } response = requests.post(url, data=data, headers=headers) data = response.json() print(data) curl -i -X POST \ https://engine.prod.bria-api.com/v1/background/remove \ -H 'Content-Type: multipart/form-data' \ -H 'api_token: string' \ -F image_url=https://i.natgeofe.com/n/548467d8-c5f1-4551-9f58-6817a8d2c45e/NationalGeographic_2572187_square.jpg const form = new FormData(); form.append("image_url", "https://i.natgeofe.com/n/548467d8-c5f1-4551-9f58-6817a8d2c45e/NationalGeographic_2572187_square.jpg"); const resp = await fetch( `https://engine.prod.bria-api.com/v1/background/remove`, { method: 'POST', headers: {api_token: 'string'}, body: form } ); const data = await resp.text(); console.log(data); import FormData from 'form-data'; import fetch from 'node-fetch'; async function run() { const form = new FormData(); form.append('image_url','https://i.natgeofe.com/n/548467d8-c5f1-4551-9f58-6817a8d2c45e/NationalGeographic_2572187_square.jpg'); const resp = await fetch( `https://engine.prod.bria-api.com/v1/background/remove`, { method: 'POST', headers: {api_token: 'string'}, body: form } ); 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 multipartBody = MultipartBodyPublisher.newBuilder(); multipartBody.append("image_url", "https://i.natgeofe.com/n/548467d8-c5f1-4551-9f58-6817a8d2c45e/NationalGeographic_2572187_square.jpg"); var body = multipartBody.build(); var host = "https://engine.prod.bria-api.com"; var pathname = "/v1/background/remove"; var request = HttpRequest.newBuilder() .POST(HttpRequest.BodyPublishers.ofString(payload)) .uri(URI.create(host + pathname )) .header("Content-Type", "multipart/form-data") .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" => "https://i.natgeofe.com/n/548467d8-c5f1-4551-9f58-6817a8d2c45e/NationalGeographic_2572187_square.jpg", ); curl_setopt_array($curl, [ CURLOPT_HTTPHEADER => [ "Content-Type: multipart/form-data", "api_token: string" ], CURLOPT_POSTFIELDS => $payload, CURLOPT_URL => "https://engine.prod.bria-api.com/v1/background/remove", 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; }

Blur Background

Apply a blur effect to the background while keeping the foreground sharp and in focus.

import requests url = "https://engine.prod.bria-api.com/v1/background/blur" payload = { "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/background/blur \ -H 'Content-Type: application/json' \ -H 'api_token: string' \ -d '{ "image_url": "URL" }' const resp = await fetch( `https://engine.prod.bria-api.com/v1/background/blur`, { method: 'POST', headers: { 'Content-Type': 'application/json', api_token: 'string' }, body: JSON.stringify({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/background/blur`, { method: 'POST', headers: { 'Content-Type': 'application/json', api_token: 'string' }, body: JSON.stringify({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" , "{" , " \"image_url\": \"URL\"" , "}" ); var host = "https://engine.prod.bria-api.com"; var pathname = "/v1/background/blur"; 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" ); 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/background/blur", 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; }

Expand Image

Expand an image to fit different aspect ratios by generating new content to seamlessly fill the extended areas.

import requests url = "https://engine.prod.bria-api.com/v1/image_expansion" payload = { "image_url": "URL", "canvas_size": [ 1200, 674 ], "original_image_size": [ 610, 855 ], "original_image_location": [ 301, -66 ] } 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/image_expansion \ -H 'Content-Type: application/json' \ -H 'api_token: string' \ -d '{ "image_url": "URL", "canvas_size": [ 1200, 674 ], "original_image_size": [ 610, 855 ], "original_image_location": [ 301, -66 ] }' const resp = await fetch( `https://engine.prod.bria-api.com/v1/image_expansion`, { method: 'POST', headers: { 'Content-Type': 'application/json', api_token: 'string' }, body: JSON.stringify({ image_url: 'URL', canvas_size: [1200, 674], original_image_size: [610, 855], original_image_location: [301, -66] }) } ); 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/image_expansion`, { method: 'POST', headers: { 'Content-Type': 'application/json', api_token: 'string' }, body: JSON.stringify({ image_url: 'URL', canvas_size: [1200, 674], original_image_size: [610, 855], original_image_location: [301, -66] }) } ); 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\"," , " \"canvas_size\": [" , " 1200," , " 674" , " ]," , " \"original_image_size\": [" , " 610," , " 855" , " ]," , " \"original_image_location\": [" , " 301," , " -66" , " ]" , "}" ); var host = "https://engine.prod.bria-api.com"; var pathname = "/v1/image_expansion"; 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", "canvas_size" => array( 1200, 674 ), "original_image_size" => array( 610, 855 ), "original_image_location" => array( 301, -66 ) ); 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/image_expansion", 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; }

Increase Resolution

Upscale image to improve sharpness and quality.

import requests url = "https://engine.prod.bria-api.com/v1/image/increase_resolution" query = { "desired_increase": "2" } data = { "image_url": "https://i.natgeofe.com/n/548467d8-c5f1-4551-9f58-6817a8d2c45e/NationalGeographic_2572187_square.jpg" } headers = { "Content-Type": "multipart/form-data", "api_token": "string" } response = requests.post(url, data=data, headers=headers, params=query) data = response.json() print(data) curl -i -X POST \ 'https://engine.prod.bria-api.com/v1/image/increase_resolution?desired_increase=2' \ -H 'Content-Type: multipart/form-data' \ -H 'api_token: string' \ -F image_url=https://i.natgeofe.com/n/548467d8-c5f1-4551-9f58-6817a8d2c45e/NationalGeographic_2572187_square.jpg const query = new URLSearchParams({desired_increase: '2'}).toString(); const form = new FormData(); form.append("image_url", "https://i.natgeofe.com/n/548467d8-c5f1-4551-9f58-6817a8d2c45e/NationalGeographic_2572187_square.jpg"); const resp = await fetch( `https://engine.prod.bria-api.com/v1/image/increase_resolution?${query}`, { method: 'POST', headers: {api_token: 'string'}, body: form } ); const data = await resp.text(); console.log(data); import FormData from 'form-data'; import fetch from 'node-fetch'; async function run() { const query = new URLSearchParams({desired_increase: '2'}).toString(); const form = new FormData(); form.append('image_url','https://i.natgeofe.com/n/548467d8-c5f1-4551-9f58-6817a8d2c45e/NationalGeographic_2572187_square.jpg'); const resp = await fetch( `https://engine.prod.bria-api.com/v1/image/increase_resolution?${query}`, { method: 'POST', headers: {api_token: 'string'}, body: form } ); const data = await resp.text(); console.log(data); } run(); import java.net.*; import java.net.http.*; import java.util.*; import java.nio.charset.StandardCharsets; import java.util.stream.Collectors; public class App { public static void main(String[] args) throws Exception { var httpClient = HttpClient.newBuilder().build(); var multipartBody = MultipartBodyPublisher.newBuilder(); multipartBody.append("image_url", "https://i.natgeofe.com/n/548467d8-c5f1-4551-9f58-6817a8d2c45e/NationalGeographic_2572187_square.jpg"); var body = multipartBody.build(); HashMap<String, String> params = new HashMap<>(); params.put("desired_increase", "2"); var query = params.keySet().stream() .map(key -> key + "=" + URLEncoder.encode(params.get(key), StandardCharsets.UTF_8)) .collect(Collectors.joining("&")); var host = "https://engine.prod.bria-api.com"; var pathname = "/v1/image/increase_resolution"; var request = HttpRequest.newBuilder() .POST(HttpRequest.BodyPublishers.ofString(payload)) .uri(URI.create(host + pathname + '?' + query)) .header("Content-Type", "multipart/form-data") .header("api_token", "string") .build(); var response = httpClient.send(request, HttpResponse.BodyHandlers.ofString()); System.out.println(response.body()); } } /** * Requires libcurl */ $query = array( "desired_increase" => "2" ); $curl = curl_init(); $payload = array( "image_url" => "https://i.natgeofe.com/n/548467d8-c5f1-4551-9f58-6817a8d2c45e/NationalGeographic_2572187_square.jpg", ); curl_setopt_array($curl, [ CURLOPT_HTTPHEADER => [ "Content-Type: multipart/form-data", "api_token: string" ], CURLOPT_POSTFIELDS => $payload, CURLOPT_URL => "https://engine.prod.bria-api.com/v1/image/increase_resolution?" . http_build_query($query), 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; }

Delayer Image

Convert any image into a layered Photoshop PSD file.

import requests visual_id = "8487fb411f3c6716" url = "https://engine.prod.bria-api.com/v1/" + visual_id + "/image_to_psd" query = { "sid": "Remove this parameter if the image has not been modified using Bria." } headers = {"api_token": "string"} response = requests.post(url, headers=headers, params=query) data = response.json() print(data) curl -i -X POST \ 'https://engine.prod.bria-api.com/v1/8487fb411f3c6716/image_to_psd?sid=Remove%20this%20parameter%20if%20the%20image%20has%20not%20been%20modified%20using%20Bria.' \ -H 'api_token: string' const query = new URLSearchParams({ sid: 'Remove this parameter if the image has not been modified using Bria.' }).toString(); const visualId = '8487fb411f3c6716'; const resp = await fetch( `https://engine.prod.bria-api.com/v1/${visualId}/image_to_psd?${query}`, { method: 'POST', headers: {api_token: 'string'} } ); const data = await resp.text(); console.log(data); import fetch from 'node-fetch'; async function run() { const query = new URLSearchParams({ sid: 'Remove this parameter if the image has not been modified using Bria.' }).toString(); const visualId = '8487fb411f3c6716'; const resp = await fetch( `https://engine.prod.bria-api.com/v1/${visualId}/image_to_psd?${query}`, { method: 'POST', headers: {api_token: 'string'} } ); const data = await resp.text(); console.log(data); } run(); import java.net.*; import java.net.http.*; import java.util.*; import java.nio.charset.StandardCharsets; import java.util.stream.Collectors; public class App { public static void main(String[] args) throws Exception { var httpClient = HttpClient.newBuilder().build(); HashMap<String, String> params = new HashMap<>(); params.put("sid", "Remove this parameter if the image has not been modified using Bria."); var query = params.keySet().stream() .map(key -> key + "=" + URLEncoder.encode(params.get(key), StandardCharsets.UTF_8)) .collect(Collectors.joining("&")); var host = "https://engine.prod.bria-api.com"; var visualId = "8487fb411f3c6716"; var pathname = "/v1/" + visualId + "/image_to_psd"; var request = HttpRequest.newBuilder() .POST(HttpRequest.BodyPublishers.ofString("some body text")) .uri(URI.create(host + pathname + '?' + query)) .header("api_token", "string") .build(); var response = httpClient.send(request, HttpResponse.BodyHandlers.ofString()); System.out.println(response.body()); } } /** * Requires libcurl */ const visualId = "8487fb411f3c6716"; $query = array( "sid" => "Remove this parameter if the image has not been modified using Bria." ); $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_HTTPHEADER => [ "api_token: string" ], CURLOPT_URL => "https://engine.prod.bria-api.com/v1/" . visualId . "/image_to_psd?" . http_build_query($query), 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.

Ready to add AI Editing to supercharge creative apps and services?

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