Image Editing is best when you already have an image and want to change, clean, extend, relight, restyle, or repurpose it without starting from scratch. Bria’s stack combines a structured edit-planning step with endpoint-specific tools for removal, fill, background work, cropping, expansion, and upscale.
Before diving into specific endpoints, it helps to understand the core mental model of Bria's editing pipeline.
Q: What’s the best mental model for getting clean edits?
Think like a designer in three layers: what changes, what must stay unchanged, and what must match visually. The strongest results come from prompts that are clear and descriptive, written in full sentences, structured around subject/context/style, and refined through small iterative changes rather than giant rewrites. For editing specifically, repeatedly restating the invariants—camera angle, identity, label details, lighting, background—helps prevent drift.
Q: What should users pay the most attention to for precision?
Four things matter most:
- Masks: Use them whenever the edit should stay local.
- Invariants: Always state what must not change.
- Physical integration: Ask for matching shadows, perspective, scale, and texture.
- Iteration discipline: Lock the seed while refining wording or masks, then vary the seed only after the edit spec is correct.
Q: How should I write a strong image-edit prompt?
Use this formula: Target + change + invariants + integration cues.
Example: "Replace the bottle cap with brushed aluminum. Keep the bottle shape, label text, camera angle, and background unchanged. Match reflections and contact shadows to the original studio lighting."
Q: How should I use masks professionally?
Keep masks slightly larger than the object edge so the model has room to blend. Bria says masked areas are regenerated; in practice, paint just beyond the contour—especially around hair, glass, fabric edges, and object contact points.
ℹ️ HOW MASKS WORK IN BRIA: > Masks in
/image/edittrigger generative replacement, not pixel retouching. The masked area should be treated as “regenerate this region” rather than “touch up this region.” Keep masks slightly larger than the object edge (especially around hair, glass, fabric, and contact points) so the model has room to blend.
ℹ️ ASYNCHRONOUS ENDPOINTS: > By default, all Bria v2 endpoints are asynchronous - the API returns a
request_idand astatus_urlimmediately, and you poll that URL until the result is ready. Passsync: trueonly if you need a synchronous response for simple integrations.
The master endpoint for full-image edits, masked local edits, or structured JSON-driven edits.
Q: How do I get the best results?
Treat it like your master editing endpoint. Use a mask whenever you care about local precision. In the instruction, state: what changes, what stays fixed, and what must match. Good prompts are explicit and constraint-heavy (e.g., "Replace only the chair upholstery with deep green velvet. Preserve chair shape, room lighting, floor shadows, and camera angle...").
💡 DESIGNER TIP: > Use this route when your request is multi-constraint (e.g., "change material, but keep label and lighting"). Specialized routes are faster when the task is narrow, but
/image/editis better when art direction matters more than convenience.
Adds a new object with natural language.
Q: How do I get the best results?
Prompt for object + material + approximate size + location + physical integration. A good instruction is not just "add a lamp"; it is "Add a small brushed-steel desk lamp on the far-right edge of the wooden desk, angled toward the center, with a soft contact shadow..."
Swaps an object that is visually obvious.
Q: How do I get the best results?
Make the target object unambiguous: left/right, front/back, color, size. Then add invariants like "preserve camera angle, surrounding objects..." If there are many similar objects, use a mask-based route instead.
Endpoints dedicated to removing elements from a scene.
Q: When should I use `/erase` and when `/edit/erase_by_text`?
Use `/erase` when you can provide a mask and need maximum control. This endpoint regenerates only the masked region and keeps everything outside the mask pixel-perfect.
Use `/edit/erase_by_text` when you prefer natural language (e.g., object_name: "table"). This is easier but may introduce minor global adjustments, since the model interprets the scene holistically.
Merges visual elements, applies graphics, or rearranges elements.
Q: How do I get the best results?
Tell the model both what to transfer and how it should behave physically. For example: "Apply the graphic to the fabric so it follows the shirt folds, preserve the artwork exactly, match shirt wrinkles and lighting..."
Generates content inside a specific masked region (optimized for blob-shaped masks).
Q: How do I get the best results?
Prompt the masked region as if you were art-directing a cropped micro-scene: name the object, describe its material and size, specify how it interacts with the surface, and ask for a contact shadow. Keep prompts around 90–110 words and leave refine_prompt enabled.
Endpoints for manipulating, blurring, or replacing backgrounds.
Q: Which background generation mode should users pick for `/replace_background`?
Use high_control (~90-110 words) because it adheres more closely to the prompt and produces creative, polished marketing-style results.
Use fast or base (~50-60 words) when speed, stability, and strict product preservation are more important than creativity.
Q: How do I get the best results with `/remove_background`?
Feed it the highest-resolution source available, especially for hair, glass, or fur. Keep preserve_alpha=true if the image already contains useful transparency.
Outpaints an image for a new aspect ratio or canvas size.
Q: Are there any size limits when using manual placement?
Yes. The maximum allowed canvas area is 25 million pixels (width × height must not exceed 5,000 × 5,000). Exceeding this returns a 400 error or forces a resize.
Q: How do I get the best results?
Use aspect_ratio (e.g., "9:16", "4:5") when the goal is channel-fit. Use manual placement when art direction matters, like creating copy space on one side. Keep the visible subject above 15% of the total canvas area.
Endpoints to increase the pixel dimensions of your output.
Q: What is the difference between `/enhance` and `/increase_resolution`?
Use `/enhance` when you want a creative upscaling effect. It fixes artifacts, improves textures, and adds visual richness (great for low-quality sources).
Use `/increase_resolution` for authentic upscaling that preserves the original image exactly while increasing its size (2x or 4x). Ideal for product imagery where strict fidelity is critical.
For single-purpose creative adjustments, choose the specialized route over the master /image/edit endpoint.
Q: Is there a good rule for choosing among these “single-purpose” endpoints?
- Relight: When the scene is right but the lighting is wrong.
- Restyle: When the composition is right but the artistic language is wrong.
- Reseason: When the scene should feel like a different time of year or weather.
- Colorize: When the tonal treatment is wrong or the photo is black and white.
- Restore: When the image is damaged.
- Sketch to Image: When the input is a drawing rather than a photo.
Q: What are the most important non-obvious rules for professional-looking edits?
- Do layout prep first: Crop, isolate, or expand before heavy edits.
- Keep prompts surgical: Name the change and the invariants.
- Think physically: Always ask for matching scale, light, texture, reflection, and shadow.
- Use masks for trust: If an area must not move, protect it.
- Do creative changes before upscale: Upscale only after content is approved.