Bria's Image Editing API equips builders with a comprehensive suite of tools for manipulating and enhancing images. Powered by the FIBO models family, the API supports everything from open-ended natural language edits to highly controlled, deterministic JSON workflows.
Our newest /v2 endpoints enable powerful editing using either natural language instructions or strict JSON structures.
- Global Edits: Modify the style, lighting, or atmosphere of an entire image.
- Localized Edits: Utilize native masking support for precise regional edits. The masking logic acts as a generative replacement, creating entirely new content within the masked area based on your instruction without altering the surrounding pixels.
- Disentangled Control: Convert text instructions into a detailed
structured_instruction(JSON) to achieve deterministic, auditable, and reproducible results.
The primary /v2/image/edit endpoint utilizes a unique two-step process:
- Translation: A VLM Bridge (powered by Gemini 2.5 Flash) converts your inputs (text + image/mask) into a detailed JSON
structured_instruction. - Generation: The FIBO Edit model performs the final, deterministic render based on that JSON.
Developers can decouple this process by using the /v2/structured_instruction/generate endpoint to intercept, edit, or programmatically build the JSON before passing it to the final render step.
For focused, high-volume tasks, the API provides optimized endpoints:
- Background Operations: Remove, replace, or blur backgrounds (powered by Bria RMBG 2.0).
- Content Manipulation: Erase objects or perform generative fill.
- Image Transformation: Expand (outpaint) images to specific aspect ratios or increase resolution safely.
- Restoration and Style: Restore old photos, colorize, restyle, relight, reseason, or turn a sketch into a finished image.
By default, all Bria /v2 endpoints process requests asynchronously. The API will immediately return a request_id and a status_url instead of the final result. You must poll the status endpoint to track progress.
If your integration is simple and low-throughput, you can pass sync: true in your request body to hold the connection open until the final image URL is returned.
View the status endpoint reference for complete polling details and usage examples.
Start with the best practices guide for choosing between /image/edit and the specialized endpoints, then see the API reference.