# Image Editing overview

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.

## Core Capabilities

### General Image Editing (FIBO Edit)

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 FIBO Architecture

The primary `/v2/image/edit` endpoint utilizes a unique two-step process:

1. **Translation:** A VLM Bridge (powered by Gemini 2.5 Flash) converts your inputs (text + image/mask) into a detailed JSON `structured_instruction`.
2. **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.

### Specialized Single-Purpose Tools

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.


### Asynchronous Processing

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.

Need synchronous responses?
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](/status) for complete polling details and usage examples.

Start with the [best practices guide](/image-editing-best-practices) for choosing between `/image/edit` and the specialized endpoints, then see the [API reference](/image-editing).