Fast Flux fine tuning API
This documentation outlines the API endpoints for initiating and managing Fast Flux fine-tuning requests in Segmind.
Base URL
https://api.segmind.com
Authentication
All requests require an API key for authentication. Include the API key in the headers as follows:
--header 'x-api-key: YOUR_API_KEY'
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.
Request
curl --location 'https://api.segmind.com/finetune/request/submit' \
--header 'x-api-key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"name": "fastfluxtest1",
"data_source_path": "any public zip url",
"instance_prompt": "1MAN, running in brown suit",
"trigger_word": "1MAN",
"base_model": "FAST_FLUX",
"theme": "subject",
"segmind_public": false,
"advance_parameters": {
"steps": 2000,
"face_crop": false,
"finetune_type": "LORA"
}
}'
Sample Response
{
"status": "REQUESTED",
"finetune_id": "uuid",
"name": "fine-tune-job-name"
}
2. Get the Details of Individual Fine-Tune Request
Description
Retrieve a fine-tuning request along with details.
Request
curl --location --request GET 'https://api.segmind.com/finetune/request/details' \
--header 'x-api-key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"request_id": "FINETUNE_ID"
}'
Sample Response
{
"finetune": {
"id": "uuid",
"finetune_id": "uuid",
"name": "fine-tune-job-name",
"data_source_path": "https://your-bucket.s3.amazonaws.com/path/to/dataset.zip",
"instance_prompt": "sample instance prompt",
"status": "AVAILABLE",
"source_type": "AWS_S3",
"base_model": "BASE_MODEL_NAME",
"slug": "model-slug",
"public_model": false,
"error_message": null,
"cloud_storage_url": "https://your-bucket.s3.amazonaws.com/path/to/model.safetensors",
"created_ts": "2025-01-01T00:00:00Z",
"updated_ts": "2025-01-01T00:00:00Z"
}
}
3. Get the List of Fine-Tune Requests
Description
Retrieve a list of fine-tuning requests along with their details.
Request
curl --location 'https://api.segmind.com/finetune/request/list' \
--header 'x-api-key: YOUR_API_KEY'
Sample Response
[
{
"id": "uuid",
"data_source_path": "https://your-bucket.s3.amazonaws.com/path/to/dataset.zip",
"name": "fine-tune-job-name",
"status": "AVAILABLE",
"error_message": null,
"segmind_model_path": null,
"advance_parameters": {
"steps": 10,
"learning_rate": 0.0001,
"prompt": "sample prompt",
"theme": "sample-theme"
},
"segmind_public_model": false,
"train_type": "LORA",
"source_type": "AWS_S3",
"base_model": "BASE_MODEL_NAME",
"theme": "sample-theme",
"cloud_storage_url": null,
"finetune_id": "uuid",
"model_information": {}
}
]
4. Get Fine-Tune Data Upload Pre-Signed URL
Description
Obtain a public pre-signed URL to securely upload fine-tuning data to cloud storage. This URL allows you to upload data directly from your local system or application without needing AWS credentials.
Usage
Call this endpoint to generate a temporary public pre-signed URL. Use the returned URL to upload your dataset file to the specified location via a PUT request.
Request
curl --location --request GET 'https://api.segmind.com/finetune/request/upload/pre-signed-url' \
--header 'x-api-key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"name": "NAME_OF_THE_FILE",
"extension": ".zip",
"public": true
}'
Sample Response
{
"presigned_url": "https://finetune-pipeline.s3.amazonaws.com/uploads/{user_id}/{file_id}-{filename}.zip?X-Amz-Algorithm=...&X-Amz-Signature=...",
"s3_url": "https://finetune-pipeline.s3.amazonaws.com/uploads/{user_id}/{file_id}-{filename}.zip"
}
Upload File Using the Pre-Signed URL
Once you have the presigned_url, upload your dataset file using the following curl command:
Request
curl -X PUT \
-T your_dataset.zip \
-H "Content-Type: application/zip" \
-H "x-amz-acl: public-read" \
"PRESIGNED_URL"
Note
Replace your_dataset.zip with your actual local file name.
Replace PRESIGNED_URL with the exact presigned_url value received in the previous step.
The x-amz-acl: public-read header is required if the pre-signed URL is generated with public read access.
5. Update Fine-Tuned Model Access
Description
Update the access settings of a fine-tuned model (public/private).
Request
curl --location --request PUT 'https://api.segmind.com/finetune/request/access-update' \
--header 'x-api-key: YOUR_API_KEY' \
--form 'request_id="FINETUNE_REQUEST_ID"' \
--form 'segmind_public="True"'
Sample Response
200
6. Download the Fine-Tuned Safetensor File
Description
Fast Fine-tuned model weight files (.safetensors) are now publicly accessible via the cloud_storage_url. You can download them directly without generating a pre-signed URL or using AWS credentials.
Request
curl -L "https://storage.googleapis.com/<bucket-name>/<model-id>.safetensors" -o model.safetensors
Sample Response
https://storage.googleapis.com/my-finetune-bucket/abc12345/model.safetensors
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