FLUX.2 LoRA API: finetune_id on BFL, not on Sume
BFL serves klein LoRAs through -finetuned endpoints with finetune_id. Sume rejects provider-specific parameters, so use reference images instead.

On the BFL API you run a trained FLUX.2 LoRA by posting to a -finetuned endpoint with a finetune_id. Sume has no such path: its image docs say allowed_passthrough_parameters is empty for every endpoint in v1, so provider.options must be omitted or empty. Use reference images for consistency instead.
BFL details are from its LoRA inference page, which marks the feature as a public beta; Sume details are from Image generation, both read 2026-10-01.
How does BFL's LoRA inference work?
You train a LoRA against a FLUX.2 [klein] Base model, upload the .safetensors file in the BFL Dashboard, and the name you choose becomes your finetune_id. Each base model has a matching -finetuned endpoint, and the request adds finetune_id and finetune_strength to the base schema.
| Endpoint | Base model |
|---|---|
/v1/flux-2-klein-4b-finetuned | FLUX.2 [klein] 4B |
/v1/flux-2-klein-9b-finetuned | FLUX.2 [klein] 9B |
/v1/flux-2-klein-base-4b-finetuned | FLUX.2 [klein] Base 4B |
/v1/flux-2-klein-base-9b-finetuned | FLUX.2 [klein] Base 9B |
What happens if I send finetune_id to Sume?
The Sume docs state the rule: a request that sets a parameter the selected model does not list is rejected with 400 unsupported_parameter rather than silently dropped. finetune_id is not a listed parameter, so expect that error, and provider.options with provider keys is refused for the same reason.
What can I use for consistency instead?
Use image references. Sume's image models accept reference images where the model lists them; for example ChatGPT Image 2.5 supports up to 16 references and an optional mask_url. Read GET /v1/images/models to see what each model lists before you build around it. For a worked approach see consistent character AI image generator.
What should I do with a trained LoRA?
Keep serving it where it was uploaded. If your goal is a repeatable look rather than trained weights, move to references and a fixed prompt on Sume.
Sources
Related posts
More in Developers
- FLUX Request Moderated vs Content Moderated, and Sume's reason
BFL separates input moderation from output moderation and adds a Moderation Reasons array. Sume groups refusals under content_policy_rejected.
- FLUX safety_tolerance 0 to 5, and what Sume does instead
BFL's safety_tolerance runs 0 (strictest) to 5 on FLUX.2, default 2. Sume has no such dial: it returns 400 unsupported_parameter.
- Upload 30 reference images to a Sume Format run (images only)
A Format run takes up to 30 images in attachments[], type input_image, by public HTTPS URL or asset_id. Video and audio attachments are not supported today.
- Gemini 2.5 not available in a new project: what to do
Google's September 18 changelog limits Gemini 2.5 models to users who already used them. New projects are pointed to 3.5 Flash-Lite or 3.8 Flash.
Written by Sume