Flux Pro fine tuning API
This documentation outlines the API endpoints for initiating and managing Flux Pro fine-tuning requests in Segmind.
Base URL
Authentication
All requests require an API key for authentication. Include the API key in the headers as follows:
1. Initiate Fine-Tune Request
Description
Initiate a new fine-tuning request.
Request
Headers
x-api-key
: Your API key.Content-Type
: Should beapplication/json
.
Body
The request body must be in JSON format. Here's an example:
Advanced Parameters:
theme: Determines the finetuning approach based on your concept
Options: "CHARACTER", "PRODUCT", "STYLE", "GENERAL"
iterations
Minimum: 100
Default: 300
Purpose: Defines training duration.
For fast exploration 100-150 iterations can be enough.
For more complex concepts, larger datasets or extreme precision more iterations than the default can help
learning_rate
Default: 0.00001 if finetune_type is "FULL"
Default: 0.0001 if finetune_type is "LORA".
priority
Options: "SPEED", "QUALITY", "HIGH_RES_ONLY"
The speed priority will improve speed per training step
Default: "QUALITY"
captioning
Type: Boolean
Default: True
Purpose: Enables/disables automatic image captioning
trigger_word
Default: "TOK"
Purpose: Unique word/phrase that will be used in the captions, to reference the newly introduced concepts
lora_rank
Default: 32
Choose between 32 and 16. A lora_rank of 16 can increase training efficiency and decrease loading times.
finetune_type
Default: "FULL"
Choose between “FULL” for a full finetuning + post hoc extraction of the trained weights into a LoRA or “LORA” for a raw LoRA training
2. Get the List of Fine-Tune Requests
Description
Retrieve a list of fine-tuning requests along with their details.
Request
3. Get Fine-Tune Data Upload Pre-Signed URL
Description
Get a pre-signed URL for uploading fine-tuning data.
Request
4. Update Fine-Tuned Model Access
Description
Update the access settings of a fine-tuned model (public/private).
Request
Webhooks
Webhooks provide a way to get real-time updates about finetuning jobs programmatically. You can register a webhook for finetuning jobs in the Developer tab on console.
Once a webhook is created, test it, by having it send a sample payload to verify delivery. Once its up, create a finetuning job to receive status updates. Events are sent to webhooks on 3 status changes:
TRAINING_COMPLETED
: The training is completed on model, and finetuned model is available for download on thetrained_model_url
.INFERENCE_QUEUED
: Model is being deployed on Segmind inference engine.AVAILABLE
: Model is deployed, and ready for inferences oninference_api_url
Note: You can create only 1 webhook at a time for finetune jobs. If you want to change the webhook, please delete the old webhook before creating a new one.
Last updated