Bria
FIBO 1.5
fibo-edit-1.5/image-to-image
BRIA's 8B flow-matching DiT distilled image model generates images with just 4 to 6 sampling steps and supports JSON-structured prompts with attribute-decoupled editing
Try fibo-edit-1.5/image-to-image
Input
Showcases
View all showcasesOutput
imagePricing
fibo-edit-1.5/image-to-image per image
| Unit Price | $0.0575 |
|---|
Overview
fibo-edit-1.5/image-to-image is an image editing model for developers that modifies existing images via instruction-driven editing. It supports passing in 1 to 4 reference images at a time, which the instructions reference in order; a mask can optionally be used to precisely target the edited region, and a fixed random seed allows results to be reproduced. With multi-image input, the output aspect ratio can be specified; with a single image, the original aspect ratio is preserved. It is suited to product teams that need to embed image modifications into automated pipelines, batch processing, or creative tools.
Key Highlights
- Multi-image references understood in order — up to 4 images can be passed in, and instructions reference them in upload order, making it easy to combine multiple assets in one edit.
- Mask-based local editing — when a mask URL is provided, only the white-marked region is edited and the black region is preserved, ideal for changing only part of the image.
- Reproducible with seeds — the same seed and inputs yield the same output, facilitating debugging, comparison, and batch reruns.
Capabilities
Instruction-driven image editing: describe what to change in natural language and the model directly outputs the modified image, with no manual retouching steps.
Multi-image input and ordered references: pass in 1–4 images at a time; instructions reference them in image order, supporting composition or reference-based editing from multiple assets.
Mask region control: pass in a mask the same size as the image to limit the edit scope — white regions are modified, black regions are preserved.
Controllable output aspect ratio: with multi-image input, one of nine output aspect ratios can be specified; with single-image input, the original aspect ratio is automatically retained, reducing the cost of cropping and fitting.
Use Cases
- E-commerce teams batch-modifying product image backgrounds or local details — upload product images and editing instructions to produce modified images ready for detail pages or ad creatives.
- Design tool integration for on-demand retouching — users select a mask and enter modification requirements, and the product returns the local editing result instantly.
- Multi-asset reference composition — pass in multiple reference images and describe the composition intent in order to generate composite results for concept drafts or marketing images.
Limitations and Selection Advice
Only instruction-based editing of existing images is supported; pure text-to-image generation is not provided. Single-image input cannot customize the output aspect ratio, and mask editing only allows single-image input. To precisely control the scope of changes, a mask the same size as the image must be prepared; multi-image instructions depend on upload order, so callers must ensure the order matches the description. It is suited to developers embedding image modifications into automated pipelines, and not to single-image scenarios that require generating an image from scratch or that impose mandatory output aspect ratios.
Create a generation task
https://api.hiapi.ai/v1/tasks Headers
AuthorizationstringRequiredAccount API key. Required on every request. Example: Bearer YOUR_HIAPI_API_KEY. Get your API key
Content-TypestringOptionalThe request body is always parsed as JSON; when sent, only application/json (optionally with charset) is accepted — any other value returns 415. Example: application/json.
Idempotency-KeystringOptionalIdempotency key, up to 255 bytes. Retries with the same key from the same account create the task only once; replays return the original taskId.
On network timeouts or client retries, the same key creates the task only once — no double charges (scope: the API key's account). Use a business-unique identifier as the key (e.g. "order-42"); replays return the original taskId, and keys expire 24 hours after the first request. See the Unified Async API overview for the full scenario matrix.
Body
modelstringRequiredCurrent fixed value: fibo-edit-1.5/image-to-image
routestringOptionalCurrent fixed value: default
inputobjectRequired
Business parameters for fibo-edit-1.5/image-to-image and route default — see the parameter table below.
seedintegerOptionalDefault: 5555Random seed, default 5555. The same seed with the same input reproduces the same result.
mask_urlstringOptionalminLength 1pattern ^https?://Optional mask image URL, used only for single-image editing: when set, image_urls must contain exactly 1 image; white areas in the mask mark the regions to be edited, black areas keep the original, and the dimensions must match the original image.
image_urlsarrayRequiredminItems 1maxItems 4An array of 1 to 4 public image URLs, each element being an image address string; order matters, and instruction references the images in that order.
Array [ string ]
instructionstringRequiredminLength 1A text instruction describing what modifications to make to the image.
aspect_ratiostringOptionalOutput aspect ratio, effective only when 2 or more images are provided; with a single image the output keeps that image's ratio. When omitted, the first image's ratio is used.
1:12:33:23:44:34:55:49:16Show all (1)
16:9callbackobjectOptional
Terminal-state notification config. When omitted, no callback is delivered — poll the task yourself. See the callback note below.
Provide callback.url when creating a task and HiAPI POSTs to your service once the task reaches a terminal state — no polling needed. The callback payload mirrors the task detail structure; signature verification, delivery retries and idempotency are documented on the Unified Async API overview page.
urlstringRequiredRequired when callback is present. A POST is sent to this URL once the task reaches a terminal state; must be a valid http(s) URL.
whenstringOptionalDefault: "final"Only final is supported today — notified on both success and fail.
finalstoragestringOptionalDefault: "temp"Artifact storage tier: temp (default, retained about 7 days) or persistent (long-term, billed by size). Insufficient balance or exceeding the storage cap silently downgrades to temp; the effective tier is shown in the task detail response.
temppersistentRequest examples
# Submit an async task; returns a taskId immediately (no waiting for generation)
curl -X POST "https://api.hiapi.ai/v1/tasks" \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "fibo-edit-1.5/image-to-image",
"input": {
"seed": 5555,
"image_urls": "…",
"instruction": "…"
}
}' const res = await fetch("https://api.hiapi.ai/v1/tasks", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.HIAPI_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "fibo-edit-1.5/image-to-image",
input: {
"seed": 5555,
"image_urls": "…",
"instruction": "…"
}
}),
});
const task = await res.json();
// { code: 200, message: "success", data: { taskId } } import os, requests
res = requests.post(
"https://api.hiapi.ai/v1/tasks",
headers={"Authorization": f"Bearer {os.environ['HIAPI_API_KEY']}"},
json={
"model": "fibo-edit-1.5/image-to-image",
"input": {
"seed": 5555,
"image_urls": "…",
"instruction": "…"
}
},
)
print(res.json()) # { code, message, data: { taskId } } 200 OK
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR"
}
} 400 Bad Request
{
"code": 400,
"message": "invalid request",
"data": null,
"error_code": "INVALID_REQUEST"
} Get task detail
https://api.hiapi.ai/v1/tasks/:id Response fields
taskIdstringRequiredTask ID, always prefixed with tk-hiapi-.
modelstringRequiredResolved full model name. Tasks submitted with the route parameter return base@route (e.g. gpt-image-2/text-to-image@ext); otherwise identical to the name passed at creation.
routestringOptionalPresent only when the task was submitted with an explicit route parameter; echoes the submitted value.
statusstringRequiredTask status.
queued Queued, not started yet.
handling Being processed.
archiving Processing finished, artifacts being prepared.
success Terminal: completed, artifacts available (output returned).
fail Terminal: failed (error returned).
After submission, check status: success and fail are terminal, everything else is non-terminal. Poll every 1–3 seconds until terminal. On success, download artifacts from output[].url and transfer them before expireAt; pass storage: "persistent" at creation time when long-term retention is needed.
creatednumberRequiredTask creation time (Unix seconds).
completednumberRequiredUnix seconds when the task reached a terminal state; fixed to 0 while not terminal.
outputarrayOptional
Present only when status == success. Artifact list — always an array; a single task may return multiple types at once (e.g. video + first_frame).
Array [ object ]
Array items
urlstringRequiredArtifact URL, directly downloadable.
typestringRequiredCurrent possible values: video, image, audio, first_frame, last_frame, thumbnail; more may be added later.
expireAtnumberRequiredUnix seconds until which the artifact remains accessible; download or transfer before it expires.
errorobjectOptional
Present only when status == fail.
codestringRequiredBusiness error code.
messagestringRequiredError description.
Response examples
Success
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR",
"model": "happyhorse-1-0",
"status": "success",
"created": 1777282033,
"completed": 1777282099,
"output": [
{
"url": "https://cdn.hiapi.ai/tasks/.../video.mp4",
"type": "video",
"expireAt": 1777886899
}
]
}
} Processing (non-terminal)
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "archiving",
"created": 1777282033,
"completed": 0
}
} Failed
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "fail",
"created": 1777282033,
"completed": 1777282099,
"error": {
"code": "TASK_FAILED",
"message": "task failed"
}
}
} Articles
View all articles →Related Models
View all models →Same Type
-
Seedream 4.5 ByteDance $0.045 /image -
851 Labs Background Remover 851 Labs $0.002 /image -
Grok Imagine Image 2.0 xAI $0.052 /image -
Grok Imagine Quality xAI $0.070 /image -
Nano Banana Google $0.021 /image -
Grok Imagine xAI $0.011 /second -
Qwen Image 2.1 Alibaba $0.020 /image -
Krea 3 Krea $0.036 /image -
Recraft V4.1 Recraft $0.010 /image -
Qwen Image 2.0 Alibaba $0.042 /image -
FLUX.1 Kontext Max Black Forest Labs $0.071 /image -
FASHN Tryon v1.6 FASHN $0.107 /image







