Bria Image Generation API

Generate images using tailored models

Business capability
Generative Media AE-110.20

Operations 2

POST /image/generate/tailored Generate Image - Tailored Model #
POST /structured_prompt/generate/tailored Generate Structured Prompt - Tailored Model #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/bria:bria-image-generation-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

bria-image-generation-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Tailored Generation API Reference Image Generation API
  version: ''
  description: 'Tailored Generation provides capabilities to generate visuals (photos, illustrations, vectors)

    that preserve and faithfully reproduce specific IP elements or guidelines, ensuring consistency

    across all generated outputs. The Tailored Generation APIs allow you to manage and train tailored models that maintain the

    integrity of your visual IP. You can train models through our Console or implement training

    directly via API. **Fully Automated Training Mode**

    Bria supports users in training high-quality finetuned models without the guesswork. Based on the selected IP type & dataset, Bria automatically selects the right training parameters. This means that the user only needs to spend time curating their dataset. **Advanced Customization and Access:** Bria offers 2 types of advanced training customization: Expert training mode and source-code & weights. - **Expert training mode** is for LoRa Finetune experts and provides the ability to finetune training parameters and upload larger training datasets. - **Source-code & Weights** is for developers seeking deeper customization and access to Bria''s source-available GenAI models via Hugging Face. All methods allow full control over fine-tuning, pipeline creation, and integration into proprietary workflows—empowering AI teams to develop and optimize their own generative AI solutions. The Tailored Generation Training API provides a set of endpoints to manage the entire lifecycle

    of a tailored generation project:


    1. **Project Management**: Create and manage projects that define IP characteristics:

    - **Create and Retrieve Projects**: Use the `/projects` endpoints to create a new project or

    retrieve existing projects that belong to your organization. - **Define IP Type**: Specify the IP type (e.g., multi_object_set, defined_character,

    stylized_scene) and medium. - **Manage Project Details**: Use the `/projects/{id}` endpoints to update or delete

    specific projects. 2. **Dataset Management**: Organize and refine datasets within your projects:

    - **Create and Retrieve Datasets**: Use the `/datasets` endpoints to create new datasets or

    retrieve existing ones. - **Generate a Visual Schema**

    - Use `/tailored-gen/generate_visual_schema` to create a structured visual schema using 5-10 sample images. - **Refine Structured Data**

    - Use `/tailored-gen/refine_structured_prompt` to iterate on your **Visual Schema** or **Image Captions** using natural language instructions. - *Example:* You can send your generated schema with the instruction "Character''s name is Lucy" to improve the training metadata programmatically. - **Upload and Manage Images**:

    - **Basic upload**: Use `/datasets/{dataset_id}/images` to upload up to 200 images individually. - **Bulk upload**: Use `/datasets/{dataset_id}/images/bulk` to upload zip files with >200 high-quality images (Advanced). - **Clone Datasets**: Create variations of existing datasets using the clone functionality. 3. **Model Management**: Train and optimize tailored models based on your datasets:

    - **Create and Retrieve Models**: Use the `/models` endpoints to create new models or list

    existing ones. - **Choose training mode**: Select between Fully automated mode (automatic training based on Bria''s recipes) and Expert mode (for training parameter tweaking). - **Monitor and Control**: Manage the model lifecycle, including training start/stop,

    status monitoring, and version control over the training parameters. 4. **Generation Capabilities**:

    - **Image Generation**: Use `/image/generate/tailored` for text-to-image generation. - **Structured Prompting**: Use `/structured_prompt/generate/tailored` to create structured prompts via VLM before generation. - **Video Generation**: Use `/video/generate/tailored/image-to-video` to animate tailored images. ### **Training Process**


    To train a tailored model:


    1. **Create a Project**: Use the `/projects` endpoint to define your IP type and medium. 2.'
servers:
- url: https://engine.prod.bria-api.com/v2/
tags:
- name: Image Generation
  description: Generate images using tailored models
paths:
  /image/generate/tailored:
    post:
      summary: Generate Image - Tailored Model
      tags:
      - Image Generation
      servers:
      - url: https://engine.prod.bria-api.com/v2
      description: '**Description**


        Generates a new image using a tailored model.


        This endpoint translates your input (`prompt` and/or `structured_prompt`) into a structured JSON prompt using the state-of-the-art **Gemini 2.5 Flash** VLM bridge. It internally uses the model''s visual schema (backbone) to ensure the generated image matches your trained visual identity.


        The response includes both the final `image_url` and the `structured_prompt` (JSON).


        **Input Combination Rules**

        The request body must include **one** of the following mutually exclusive combinations:

        * `prompt`: Generates a new image from text.

        * `structured_prompt`: Recreates a previous image exactly (requires seed).

        * `structured_prompt` + `prompt`: Refines a previous image using new text instructions.'
      operationId: image-generate-tailored
      parameters:
      - in: header
        name: api_token
        schema:
          type: string
        required: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - tailored_model_id
              properties:
                tailored_model_id:
                  type: string
                  description: The ID of the tailored model.
                tailored_model_influence:
                  type: number
                  format: float
                  description: Controls the strength of the tailored model's influence (0.0 - 1.5).
                  default: 1
                  minimum: 0
                  maximum: 1.5
                prompt:
                  type: string
                  description: Text-based instruction for generation or refinement.
                structured_prompt:
                  type: string
                  description: A string containing the structured prompt in JSON format for precise recreation/refinement.
                negative_prompt:
                  type: string
                  description: Concepts to exclude from the generated image.
                guidance_scale:
                  type: integer
                  description: Adherence to the prompt (3-5).
                  default: 5
                  minimum: 3
                  maximum: 5
                aspect_ratio:
                  type: string
                  default: '1:1'
                  enum:
                  - '1:1'
                  - '2:3'
                  - '3:2'
                  - '3:4'
                  - '4:3'
                  - '4:5'
                  - '5:4'
                  - '9:16'
                  - '16:9'
                steps_num:
                  type: integer
                  default: 50
                  minimum: 20
                  maximum: 50
                seed:
                  type: integer
                  description: Seed for deterministic generation.
                sync:
                  type: boolean
                  default: false
                  description: If false, returns a 202 and status URL. If true, returns 200 with result.
                prompt_content_moderation:
                  type: boolean
                  default: true
                visual_output_content_moderation:
                  type: boolean
                  default: true
            examples:
              New Generation:
                value:
                  tailored_model_id: model_123
                  prompt: A product photo in the brand's visual style
      responses:
        '200':
          description: Successful operation (Synchronous).
          content:
            application/json:
              schema:
                type: object
                properties:
                  image_url:
                    type: string
                  structured_prompt:
                    type: string
        '202':
          description: Accepted (Asynchronous).
          content:
            application/json:
              schema:
                type: object
                properties:
                  request_id:
                    type: string
                  status_url:
                    type: string
        '400':
          description: Bad request. Invalid parameters.
        '403':
          description: Forbidden. Model does not belong to organization.
        '422':
          description: Unprocessable Entity (Moderation failure).
        '429':
          description: Request limit exceeded.
        '500':
          description: Internal Server Error.
  /structured_prompt/generate/tailored:
    post:
      summary: Generate Structured Prompt - Tailored Model
      tags:
      - Image Generation
      servers:
      - url: https://engine.prod.bria-api.com/v2
      description: '**Description**


        Creates a new detailed, machine-readable structured prompt in JSON format or refines an existing one using text inputs and a tailored model''s visual schema (backbone).


        This endpoint uses the state-of-the-art **Gemini 2.5 Flash** VLM bridge. The tailored model''s visual schema is provided as input to Gemini along with the user prompt to generate the structured prompt.


        **It returns ONLY the JSON string and does not generate an image.**


        **Use Cases:**

        * **Control & Auditability:** Inspect or programmatically edit the JSON *before* generating an image.

        * **Consistency:** Generate one `structured_prompt` and pass it to `/image/generate/tailored` multiple times.

        * **Hybrid Deployment:** Use Bria''s VLM bridge via API while hosting the FIBO image model on a private cloud.


        **Input Combination Rules**

        The request body must use exactly one of the following combinations:

        * **Text Only**: `prompt`

        * **Structured Prompt and Text**: `structured_prompt` and `prompt` (Refinement)'
      operationId: structured-prompt-generate-tailored
      parameters:
      - in: header
        name: api_token
        schema:
          type: string
        required: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - tailored_model_id
              properties:
                tailored_model_id:
                  type: string
                  description: The ID of the tailored model.
                prompt:
                  type: string
                  description: Text-based instruction.
                structured_prompt:
                  type: string
                  description: JSON string from a previous response for refinement.
                seed:
                  type: integer
                  description: Seed for deterministic generation.
                sync:
                  type: boolean
                  default: false
                  description: If false, returns 202. If true, returns 200.
                prompt_content_moderation:
                  type: boolean
                  default: true
            examples:
              Text Only:
                value:
                  tailored_model_id: model_123
                  prompt: A product photo in the brand's visual style
              Refinement:
                value:
                  tailored_model_id: model_123
                  structured_prompt: '{"main_subject": ...}'
                  prompt: add dramatic lighting
      responses:
        '200':
          description: Successful operation (Synchronous).
          content:
            application/json:
              schema:
                type: object
                properties:
                  structured_prompt:
                    type: string
                    description: The generated structured prompt JSON string.
        '202':
          description: Accepted (Asynchronous).
          content:
            application/json:
              schema:
                type: object
                properties:
                  request_id:
                    type: string
                  status_url:
                    type: string
        '400':
          description: Bad request. Invalid parameters.
        '403':
          description: Forbidden. Model does not belong to organization.
        '422':
          description: Unprocessable Entity (Moderation failure).
        '429':
          description: Request limit exceeded.
        '500':
          description: Internal Server Error.
externalDocs:
  description: Register and get API Access
  url: https://platform.bria.ai/organization-management/api-keys
x-tagGroups:
- name: Training Endpoints
  tags:
  - Project
  - Dataset
  - Model
- name: Generation Endpoints
  tags:
  - Image Generation
  - Video Generation