Bria Fibo Generate 1.5 Text To Image API Documentation
Playground
Try it on WaveSpeedAI!Bria FIBO Generate 1.5 Text-to-Image creates commercially safe images from text prompts, with optional photoreal style presets and advanced structured prompting for product visuals, marketing assets, brand-safe content, and production workflows. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
Features
Bria FIBO Gen 1.5 Text-to-Image generates images from text prompts with optional reference-image guidance. It supports multiple aspect ratios, 1MP or 4MP output resolution, optional photoreal style preset, and seed control for reproducible generation.
Why Choose This?
-
Text-to-image generation
Generate images directly from natural-language prompts. -
Optional reference image guidance
Provide one reference image to guide the generated result. -
Flexible aspect ratios
Choose square, portrait, landscape, and vertical output formats. -
Resolution control
Generate at1mpfor standard output or4mpfor higher-resolution results. -
Photoreal style preset
Use the optionalphotorealstyle preset when realistic output is preferred. -
Seed support
Use a fixed seed for reproducible results, or-1for a random seed.
Parameters
| Parameter | Required | Description |
|---|---|---|
| prompt | Yes | Text prompt describing the image to generate. Minimum length: 1 character. |
| images | No | Optional reference image. Supports up to 1 image URL. |
| style_id | No | Optional style preset. Supported value: photoreal. Leave unset for no preset. |
| aspect_ratio | No | Output aspect ratio: 1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, or 16:9. Default: 1:1. |
| resolution | No | Output resolution: 1mp or 4mp. Default: 1mp. |
| seed | No | Random seed for generation. Use -1 for a random seed. Range: -1–2147483647. Default: -1. |
How to Use
- Write your prompt — Describe the subject, scene, composition, lighting, style, and visual details.
- Add a reference image optional — Provide one image when you want visual guidance.
- Choose style optional — Use
photorealwhen realistic output is needed. - Select aspect ratio — Choose the layout that matches your target format.
- Choose resolution — Use
1mpfor standard generation or4mpfor higher-resolution output. - Set seed optional — Use a fixed seed for reproducible results, or
-1for random generation. - Submit — Generate the final image.
Pricing
Pricing is fixed at $0.04 per image.
| Output | Cost |
|---|---|
| One generated image | $0.04 |
Best Use Cases
- Photoreal image generation — Create realistic images from detailed prompts.
- Marketing visuals — Generate campaign assets, social posts, and promotional imagery.
- Product concepts — Create product scenes, lifestyle visuals, and presentation images.
- Creative ideation — Explore characters, environments, objects, and visual directions.
- Reference-guided generation — Use one reference image to guide composition, subject, or visual style.
Pro Tips
- Use clear prompts with subject, composition, lighting, mood, and background details.
- Use the
photorealstyle preset when realistic output is the main goal. - Add a reference image when you want stronger visual guidance.
- Use
1mpfor faster iteration and4mpwhen higher-resolution output is needed. - Set a fixed
seedwhen comparing prompt or parameter changes. - Choose
9:16for vertical mobile content and16:9for widescreen layouts.
Related Models
- Bria FIBO Gen 1.5 Text-to-Image — Generate images from text prompts with optional reference-image guidance.
- Bria FIBO Edit 1.5 — Edit images with prompt-based instructions and visual context.
Authentication
For authentication details, please refer to the Authentication Guide.
API Endpoints
Submit Task & Query Result
set -euo pipefail
export WAVESPEED_API_KEY="your-api-key"
REQUEST_BODY=$(cat <<'JSON'
{
"prompt": "A cinematic ocean wave at sunrise, highly detailed",
"style_id": "photoreal",
"aspect_ratio": "1:1",
"resolution": "1mp"
}
JSON
)
# 1. Submit the prediction.
SUBMIT_RESPONSE=$(curl --silent --show-error --fail-with-body \
-X POST "https://api.wavespeed.ai/api/v3/bria/fibo-generate-1.5/text-to-image" \
-H "Authorization: Bearer ${WAVESPEED_API_KEY}" \
-H "Content-Type: application/json" \
-d "${REQUEST_BODY}")
TASK=$(printf '%s' "${SUBMIT_RESPONSE}" | jq 'if type == "object" and has("data") then .data else . end')
PREDICTION_ID=$(printf '%s' "${TASK}" | jq -r '.id // empty')
if [ -z "${PREDICTION_ID}" ]; then
printf 'Submission response did not contain a prediction id
' >&2
exit 1
fi
RESULT_URL="https://api.wavespeed.ai/api/v3/predictions/${PREDICTION_ID}/result"
# 2. Poll until the prediction finishes.
while true; do
RESPONSE=$(curl --silent --show-error --fail-with-body \
"${RESULT_URL}" \
-H "Authorization: Bearer ${WAVESPEED_API_KEY}")
RESULT=$(printf '%s' "${RESPONSE}" | jq 'if type == "object" and has("data") then .data else . end')
STATUS=$(printf '%s' "${RESULT}" | jq -r '.status // empty')
case "${STATUS}" in
completed) printf '%s\n' "${RESULT}" | jq '.outputs'; break ;;
failed|cancelled|timeout|deleted) printf '%s\n' "${RESULT}" | jq . >&2; exit 1 ;;
*) sleep 2 ;;
esac
doneParameters
Task Submission Parameters
Request Parameters
| Parameter | Type | Required | Default | Range | Description |
|---|---|---|---|---|---|
| prompt | string | Yes | - | The prompt to use for the generation. | |
| images | array<string> | No | - | 0 ~ 1 items | Optional reference image. Bria FIBO Generate supports one reference image. |
| style_id | string | No | - | photoreal | Optional Bria style preset. Leave unset for no preset. |
| aspect_ratio | string | No | 1:1 | 1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9 | The aspect ratio of the generated media. |
| resolution | string | No | 1mp | 1mp, 4mp | The resolution of the output image. |
| seed | integer | No | - | - | The random seed to use for the generation. -1 means a random seed will be used. |
| enable_sync_mode | boolean | No | false | - | If set to `true`, the request attempts to wait for the generated result and return outputs in the same response. If the result is not ready within the sync wait window, the API can return a timeout body while the task continues processing. This option is only available via the API and is supported only by some models. |
Response Parameters
| Parameter | Type | Description |
|---|---|---|
| code | integer | HTTP status code (e.g., 200 for success) |
| message | string | Status message (e.g., “success”) |
| data.id | string | Unique identifier for the prediction, Task Id |
| data.model | string | Model ID used for the prediction |
| data.outputs | array | Output values, usually URL strings; some models return text strings or structured result objects (empty when status is not completed) |
| data.urls | object | Object containing related API endpoints |
| data.status | string | Task status. completed is successful; failed, cancelled, timeout, and deleted are failure terminal statuses. |
| data.created_at | string | ISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”) |
| data.error | string | Error message (empty if no error occurred) |
| data.timings | object | Object containing timing details |
| data.timings.inference | integer | Inference time in milliseconds |
Result Request Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| id | string | Yes | - | Task ID |
Result Response Parameters
| Parameter | Type | Description |
|---|---|---|
| code | integer | HTTP status code (e.g., 200 for success) |
| message | string | Status message (e.g., “success”) |
| data | object | The prediction data object containing all details |
| data.id | string | Unique identifier for the prediction |
| data.model | string | Model ID used for the prediction |
| data.outputs | array<string | object> | Array of generated outputs (empty when status is not completed). Items are usually URL strings, but may be text strings or structured result objects, depending on the model. |
| data.urls | object | Object containing related API endpoints |
| data.status | string | Status: completed is successful; failed, cancelled, timeout, and deleted are failure terminal statuses |
| data.created_at | string | ISO timestamp of when the request was created |
| data.error | string | Error message (empty if no error occurred) |
| data.timings | object | Object containing timing details |
| data.timings.inference | integer | Inference time in milliseconds |