FLUX.2 pose and layout guidance without ControlNet
FLUX.2 has no ControlNet input: BFL says to pass a pose or layout as a reference image. On Sume use image_urls or input_references; unlisted fields get a 400.

There is no ControlNet field to set. BFL's guide says that instead of dedicated ControlNet inputs, FLUX.2 uses its multi-reference editing system: you supply a reference image that shows the pose or layout and describe in the prompt how to apply it. On Sume that image goes in image_urls or input_references.
Vendor behavior is from BFL's Pose & Layout Guidance page; Sume request rules from Image generation and Image API, read 2026-10-01.
How many references can I pass?
| Source | What it says |
|---|---|
| BFL pose and layout page | FLUX.2 supports up to 8 reference images |
Sume image_urls | 1–10 reference/edit image URLs |
What should the reference and prompt look like?
BFL recommends clear, uncluttered pose references, simple poses with visible limbs, and referring to images by number in the prompt ("match the pose in image 1"). It notes a single collage can guide layout but quality may be slightly lower than separate input images. BFL says 8 and Sume documents 1–10 for image_urls, so for a FLUX.2 id stay at 8 or fewer and check the model's descriptor in the Sume catalog.
Do all Sume image models accept references?
No. Models whose input_references descriptor is {"min": 0, "max": 0} are text-to-image only and reject references. Reference URLs must be public HTTPS. Read the model's descriptor from GET /v1/images/models before sending an image.
What if I send a ControlNet-style field?
A request that sets a parameter the selected model does not list is rejected with 400 unsupported_parameter rather than silently dropped. So a controlnet or depth-map field will fail; send the pose as a reference instead. More on multi-image edits: FLUX.2 multi-reference editing.
Sources
Related posts
More in Developers
- FLUX API 429 vs Sume 429: rate_limited and queue_full
BFL returns one 429 for exceeded account rate limits. Sume splits 429 into rate_limited (back off) and queue_full (wait for a job to finish or cancel one).
- FLUX moderation reasons: handling the block vs a Sume job error
How to code the handler: BFL returns a Moderation Reasons array in details. A failed Sume job returns an error category and next action, not a reasons array.
- FLUX API polling_url and regional hosts vs Sume job polling
BFL says to poll the polling_url it returns on api.bfl.ai and its EU and US hosts. Sume has no region choice: you poll the status URL in the job envelope.
- 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.
Written by Sume