Skip to content

Overview

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. Explore the Console here.

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.
  1. 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.
  1. 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.
  1. 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. Create a Dataset: Use the /datasets endpoint to create a dataset within your project.
  3. Define Visual Identity:
    • Step A (Generate): Call /tailored-gen/generate_visual_schema, sampling 5-10 images from your input set.
    • Step B (Refine - Optional): Call /tailored-gen/refine_structured_prompt with the generated schema and instructions to tweak the definitions (e.g., "Remove references to blue background").
    • Step C (Apply): Update the dataset with the final schema using /datasets/{dataset_id}.
  4. Upload Images: Upload images using the /datasets/{dataset_id}/images or /datasets/{dataset_id}/images/bulk endpoints (minimum resolution: 1024x1024px).
  5. Prepare Dataset: Review auto-generated captions (you can also use refine_structured_prompt to fix specific image captions) and update the dataset status to 'completed'.
  6. Create Model: Use the /models endpoint to create a model, which requires a training mode.
  7. Start Training: Initiate training via the /models/{id}/start_training endpoint. Training typically takes 4-6 hours.
  8. Monitor Progress: Check the training status using the /models/{id} endpoint until training is 'Completed'.
  9. Generate Images:
  • Use v2/image/generate/tailored for text-to-image generation.

Alternatively, manage and train tailored models through Bria's user-friendly Console.
Get started here.

Languages
Servers
https://engine.prod.bria-api.com/v2

Project

Manage your projects

Operations

Create Project

Request

Create a new project within the organization.

The following IP types are supported:

Defined Character A specific character that maintains consistent identity and unique traits while being reproduced in different poses, situations, and actions.

Medium: Photography

Example of defined character in different poses, photography medium

Medium: Illustration

Example of defined character in different poses, illustrative medium

Stylized Scene Complete environments or scenes created with a consistent visual style, look, and feel.

Medium: Photography

Example of stylized scene, photography medium

Medium: Illustration

Example of stylized scene, illustrative medium

Multi-Object Set A collection of different objects sharing a common style, design language, or color scheme. Objects are typically isolated on solid backgrounds. Example of multi-object set

Object Variants Multiple variations of the same object type, maintaining consistent style and structure while showing different interpretations. Objects are typically isolated on solid backgrounds. Example of object variants

Icons A collection of cohesive, small-scale illustrations or symbols designed to represent concepts, actions, or objects in interfaces and applications. Example of icon set

Character Variants Multiple characters sharing the same fundamental structure, style, and color palette, allowing creation of new characters that fit within the established design system. Example of character variants

Headers
api_tokenstringrequired
Bodyapplication/jsonrequired
project_namestring

Name of the project (required)

project_descriptionstring

Description of the project (optional)

ip_namestring

Required only for defined_character IP type. The name of the character (1-3 words, e.g., "Lora", "Captain Smith").

ip_descriptionstring

Required only for defined_character and object_variants IP types. A short phrase (up to 6 words) describing the most crucial distinguishing features (e.g., "a female character with purple hair").

ip_mediumstring

Medium of the IP (required)

Enum"photography""illustration"
ip_typestring

Type of the IP (required):

  • defined_character: A specific predefined character or person that can be reproduced consistently.
  • stylized_scene: A complete scene or environment with a cohesive style.
  • other: For IP types that don't fit into any of the types.

The types below are currently available only when ip_medium = illustration:

  • object_variants: Variations of the same object type with consistent style.
  • multi_object_set: Multiple distinct objects sharing a mutual style.
  • icons: A collection of small, visually distinct illustrations or symbols.
  • character_variants: Multiple characters sharing the same structure, style, and color palette.
Enum"multi_object_set""object_variants""icons""defined_character""character_variants""stylized_scene""other"
curl -i -X POST \
  https://engine.prod.bria-api.com/v1/tailored-gen/projects \
  -H 'Content-Type: application/json' \
  -H 'api_token: string' \
  -d '{
    "project_name": "Branded Character",
    "ip_name": "Adventure Series Characters",
    "ip_description": "A set of adventure game characters with unique personalities",
    "ip_medium": "illustration",
    "ip_type": "defined_character"
  }'

Responses

Project successfully created

Bodyapplication/json
idinteger

Unique identifier for the project

project_namestring

Name of the project

project_descriptionstring

Description of the project

ip_namestring

Name of the IP

ip_descriptionstring

Description of the IP

ip_mediumstring

Medium of the IP

ip_typestring

Type of the IP

training_versionstring or null

The training version family this project is locked to (e.g., 'fibo', 'max', or null if unlocked).

statusstring

Status of the project

Value"active"
created_atstring(date-time)

Timestamp when the project was created

Response
application/json
{ "id": 123, "project_name": "Branded Character", "project_description": "", "ip_name": "Lora", "ip_description": "A female character with purple hair", "ip_medium": "illustration", "ip_type": "defined_character", "status": "active", "created_at": "2024-05-26T12:00:00Z" }

Get Projects

Request

Retrieve all projects within the organization. If there are no projects, returns an empty array.

Headers
api_tokenstringrequired
curl -i -X GET \
  https://engine.prod.bria-api.com/v1/tailored-gen/projects \
  -H 'api_token: string'

Responses

Successfully retrieved projects

Bodyapplication/jsonArray [
idinteger
project_namestring
project_descriptionstring
ip_namestring
ip_descriptionstring
ip_mediumstring
Enum"photography""illustration"
ip_typestring
Enum"multi_object_set""object_variants""icons""defined_character""character_variants""stylized_scene""other"
statusstring
Value"active"
created_atstring(date-time)
updated_atstring(date-time)
]
Response
application/json
[ { "id": 123, "project_name": "Branded Character", "project_description": "", "ip_name": "Lora", "ip_description": "A female character with purple hair", "ip_medium": "illustration", "ip_type": "defined_character", "status": "active", "created_at": "2024-05-26T12:00:00Z", "updated_at": "2024-05-26T14:30:00Z" } ]

Get Project by ID

Request

Retrieve full project information.

Path
project_idstringrequired
Headers
api_tokenstringrequired
curl -i -X GET \
  'https://engine.prod.bria-api.com/v1/tailored-gen/projects/{project_id}' \
  -H 'api_token: string'

Responses

Successfully retrieved project

Bodyapplication/json
idinteger
project_namestring
project_descriptionstring
ip_namestring
ip_descriptionstring
ip_mediumstring
Enum"photography""illustration"
ip_typestring
Enum"multi_object_set""object_variants""icons""defined_character""character_variants""stylized_scene""other"
statusstring
Value"active"
created_atstring(date-time)
Response
application/json
{ "id": 123, "project_name": "Branded Character", "project_description": "", "ip_name": "Lora", "ip_description": "A female character with purple hair", "ip_medium": "illustration", "ip_type": "defined_character", "status": "active", "created_at": "2024-05-26T12:00:00Z" }

Dataset

Manage training datasets

Operations

Model

Manage and train models

Operations

Image Generation

Generate images using tailored models

Operations

Video Generation

Image-to-Video capabilities

Operations