Manage your projects
- Delete Dataset
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:
- Project Management: Create and manage projects that define IP characteristics:
- Create and Retrieve Projects: Use the
/projectsendpoints 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.
- Dataset Management: Organize and refine datasets within your projects:
- Create and Retrieve Datasets: Use the
/datasetsendpoints to create new datasets or retrieve existing ones. - Generate a Visual Schema (FIBO Models)
- Required for
fibotraining versions - Use
/tailored-gen/generate_visual_schemato create a structured visual schema using 5-10 sample images.
- Required for
- Generate Caption Prefix (Legacy Models)
- Use
/tailored-gen/generate_prefixto create a text-based prefix for legacy training versions.
- Use
- Refine Structured Data
- Use
/tailored-gen/refine_structured_promptto 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.
- Use
- Upload and Manage Images:
- Basic upload: Use
/datasets/{dataset_id}/imagesto upload up to 200 images individually. - Bulk upload: Use
/datasets/{dataset_id}/images/bulkto upload zip files with >200 high-quality images (Advanced).
- Basic upload: Use
- Clone Datasets: Create variations of existing datasets using the clone functionality.
- Model Management: Train and optimize tailored models based on your datasets:
- Create and Retrieve Models: Use the
/modelsendpoints 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).
- Choose Training version: Select "Fibo" for best results.
- Monitor and Control: Manage the model lifecycle, including training start/stop, status monitoring, and version control over the training parameters.
- Generation Capabilities:
- Image Generation: Use
v2/image/generate/tailored(FIBO) orv1/text-to-image/tailored(Legacy). - Structured Prompting: Use
v2/structured_prompt/generate/tailoredto create structured prompts via VLM before generation. - Video Generation: Use
/video/generate/tailored/image-to-videoto animate tailored images.
To train a tailored model:
- Create a Project: Use the
/projectsendpoint to define your IP type and medium. - Create a Dataset: Use the
/datasetsendpoint to create a dataset within your project. - 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_promptwith 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}.
- Step A (Generate): Call
- Upload Images: Upload images using the
/datasets/{dataset_id}/imagesor/datasets/{dataset_id}/images/bulkendpoints (minimum resolution: 1024x1024px). - Prepare Dataset: Review auto-generated captions (you can also use
refine_structured_promptto fix specific image captions) and update the dataset status to 'completed'. - Create Model: Use the
/modelsendpoint to create a model, which requires a training mode and version. - Start Training: Initiate training via the
/models/{id}/start_trainingendpoint. Training typically takes 4-6 hours. - Monitor Progress: Check the training status using the
/models/{id}endpoint until training is 'Completed'. - Generate Images:
- Use
v2/image/generate/tailoredfor text-to-image generation.
Alternatively, manage and train tailored models through Bria's user-friendly Console.
Get started here.
Request
Update a dataset.
FIBO vs Legacy Behavior:
- If
training_versionis 'fibo':- You CAN update
visual_schema(only when status isdraft). - You CANNOT update
caption_prefix.
- You CAN update
- If
training_versionis 'max', 'light', '3.2', or '2.3':- You CAN update
caption_prefix(only when status isdraft). - You CANNOT update
visual_schema.
- You CAN update
Completion Requirements: To set status to completed:
- FIBO Datasets: Must have at least 5 images.
- Legacy Datasets: Must have at least 1 image.
Note: training_version cannot be updated.
A string containing the JSON structure from /generate_visual_schema. Allowed only for fibo training version. Structure is validated upon update.
- https://engine.prod.bria-api.com/v1/tailored-gen/datasets/{dataset_id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X PUT \
'https://engine.prod.bria-api.com/v1/tailored-gen/datasets/{dataset_id}' \
-H 'Content-Type: application/json' \
-d '{
"name": "string",
"caption_prefix": "string",
"visual_schema": "string",
"status": "draft"
}'Dataset successfully updated
Text automatically prepended to all image captions in the dataset. Each image caption should naturally continues this prefix. A default prefix is automatically created but can be modified, and this same prefix is later used as the default generation prefix during image generation.
The method used to upload images to the dataset. 'basic' is the default.
The source of the captions. For 'basic' datasets, this is a null. For 'advanced' datasets, this indicates if captions were generated 'automatic' or provided 'manual'.
{ "id": 456, "project_id": 123, "name": "dataset v1", "caption_prefix": "An illustration of a character named Lora, a female character with purple hair,", "status": "completed", "captions_update_status": "empty", "upload_type": "basic", "captions_source": null, "created_at": "2024-05-26T12:00:00Z", "updated_at": "2024-05-26T15:30:00Z" }
- https://engine.prod.bria-api.com/v1/tailored-gen/datasets/{dataset_id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X DELETE \
'https://engine.prod.bria-api.com/v1/tailored-gen/datasets/{dataset_id}' \
-H 'api_token: string'Request
Create a new draft dataset based on existing one. This is useful when you would like to use the same dataset again for another training, but with some modification (create a variation). Inheritance: The cloned dataset inherits the training_version (and visual_schema if applicable) from the source dataset.
- https://engine.prod.bria-api.com/v1/tailored-gen/datasets/{dataset_id}/clone
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
'https://engine.prod.bria-api.com/v1/tailored-gen/datasets/{dataset_id}/clone' \
-H 'Content-Type: application/json' \
-H 'api_token: string' \
-d '{
"name": "Copy of dataset v1 - modified version",
"description": "Modified version with additional poses"
}'Dataset successfully cloned
The foundation model version this dataset targets (e.g., 'fibo', 'max').
Text prepended to captions.
- For
training_version=max/light/3.2/2.3: Required string. - For
training_version=fibo: Null.
The method used to upload images to the dataset. 'basic' is the default.
The source of the captions. For 'basic' datasets, this is a null. For 'advanced' datasets, this indicates if captions were generated 'automatic' or provided 'manual'.
Array of images in the dataset (up to 200)
Once an image is uploaded, a caption is generated automatically. The caption is a natural continuation of the caption_prefix.
{ "id": 457, "project_id": 123, "name": "Copy of dataset v1 - modified version", "caption_prefix": "An illustration of a character named Lora, a female character with purple hair,", "status": "draft", "captions_update_status": "empty", "training_version": "3.2", "visual_schema": null, "upload_type": "basic", "captions_source": null, "images_count": 2, "images": [ { "id": 791, "dataset_id": 457, "caption": "standing in a confident pose wearing a blue dress", "caption_source": "automatic", "image_name": "lora_standing.png", "image_url": "https://api.example.com/files/lora_standing.png", "thumbnail_url": "https://api.example.com/files/lora_standing_thumb.png", "created_at": "2024-05-26T15:30:00Z", "updated_at": "2024-05-26T15:30:00Z" }, { "id": 792, "dataset_id": 457, "caption": "sitting on a chair with a gentle smile", "caption_source": "automatic", "image_name": "lora_sitting.png", "image_url": "https://api.example.com/files/lora_sitting.png", "thumbnail_url": "https://api.example.com/files/lora_sitting_thumb.png", "created_at": "2024-05-26T15:30:00Z", "updated_at": "2024-05-26T15:30:00Z" } ], "created_at": "2024-05-26T15:30:00Z", "updated_at": "2024-05-26T15:30:00Z" }