FLUX 3 Image has no negative prompt: what to write, and Sume's rows
BFL's FLUX 3 Image has no negative_prompt field; it wants the positive version. The replacement table, a runnable rewriter, and Sume's image rows' fields.

FLUX 3 Image has no negative prompt field and no prompt upsampling field, BFL's guide says; you describe what you want instead of what you do not. FLUX 3 Image is not listed in the Sume image catalog (read 2026-10-09). The Sume image route has no negative_prompt either: it exists only for music, so the same positive wording works on the FLUX.2 rows that are listed.
What does BFL say to write instead?
The guide gives a replace-the-negative strategy: identify the unwanted element, ask what would fill that space, and describe that. Its common swaps:
| Instead of | Write |
|---|---|
| no people | empty, deserted, solitary |
| no colors | monochrome, black and white, grayscale |
| no text | clean surfaces, unmarked, blank |
| no background clutter | plain studio backdrop in one color |
| not dark | brightly lit, sun-drenched |
What if the unwanted thing keeps appearing?
BFL's next steps are to be more specific about what you do want in that space, to put the replacement near the start of the scene sentence, to add detail so it takes up the space, and to give it context, such as a deserted beach at dawn before the first swimmers arrive. In an edit, removal is an instruction and not a negation: "Remove the cat from the sofa" works.
What happens if I send negative_prompt to Sume?
An unlisted parameter returns 400 unsupported_parameter. The image request table in the image models docs lists the accepted fields, and negative_prompt is not among them. Rewrite the sentence instead. This small helper does the swaps from the table before you send the call.
SWAPS = {
"no people": "empty, deserted",
"no crowds": "an empty promenade",
"no text": "clean, unmarked surfaces",
"no background clutter": "a plain studio backdrop in one color",
"not dark": "brightly lit",
}
def positive(prompt: str) -> str:
out = prompt
for neg, pos in SWAPS.items():
out = out.replace(neg, pos)
return out
print(positive("A beach at dawn, no people, not dark"))Which listed rows can I use today?
The FLUX.2 Pro and Flex rows are on Sume at $0.03 and $0.05 provider list per image, which is $0.0375 and $0.0625 billed after the 1.25 factor. Positive wording is also the safer habit for Nano Banana 2.1 and GPT Image 2.5, since none of the three has a negative field in the Sume request.
The same habit helps on every row. A prompt that names the empty beach, the plain backdrop or the quiet street is shorter than one that lists exclusions, and models tend to draw what is named. If a phrase like "no text" still produces letters, try naming the surface, such as a plain unmarked wall, and put it early in the sentence.
Sources
Related posts
More in Developers
- FLUX.3 not on Sume yet: detect it via /v1/images/models, fall back
Sume does not list FLUX.3. A Python script reads /v1/images/models, uses FLUX.3 if it appears, else Nano Banana 2.1 at 2K for $0.15. BFL 2k is $0.100.
- Format run expires_at: a 90 minute ceiling for your Python poll loop
A Sume Format run receipt has an expires_at deadline: 90 minutes from creation, sooner if the run goes quiet. Use it as your loop ceiling, with Python backoff.
- Four status vocabularies in the Sume API: job, resource, run, delivery
Jobs say queued and processing, resources say ready, deliveries say exhausted, queue-shaped fields say IN_QUEUE. A table so a client branches on the right one.
- frame_images or image_url? Image-to-video fields on Sume's two APIs
Sume's /v1/videos uses frame_images and input_references; /v1/video-router/generate uses image_url, end_image_url and reference_*_urls. A field-by-field map.
Written by Sume