Photo to woodcut print: Flux 2 Flex edit, then a 1-bit threshold
Make a woodcut from a photo with Flux 2 Flex on Sume at $0.0625, then force true 1-bit black and white in Pillow so the file is ready for print.

To turn a photo into a woodcut on Sume, send it as an input_references entry to black-forest-labs/flux.2-flex with a prompt for bold black carved lines on white, pin an aspect ratio the row lists, then threshold the result in Pillow with convert("L").point(...) and convert("1") so every pixel is pure black or white. The Sume catalog price for this row is $0.0625 per image, so three candidate cuts cost $0.1875.
Why add a threshold after the model?
A model can return a woodcut-like picture with soft gray anti-aliasing, and gray is the thing a block print does not have. Thresholding is the step that turns "looks like a woodcut" into a file a laser cutter, a vinyl cutter or a screen-print shop can use. It also exposes weak images: if the threshold turns faces into black blobs, the cut had too little contrast, and a rerun with a stronger prompt is cheaper than fixing it by hand.
from PIL import Image
CUT = 140 # raise for thinner black, lower for heavier black
im = Image.open("woodcut.png").convert("L")
bw = im.point(lambda v: 255 if v > CUT else 0).convert("1")
bw.save("woodcut_1bit.png")
black = sum(1 for v in bw.getdata() if v == 0)
share = 100 * black / (bw.width * bw.height)
print(f"black coverage: {share:.1f}%")What goes wrong after the threshold?
Mid-tone areas turn into noise, because a single cutoff splits every gray into black or white. If the sky or skin breaks into speckles, run ImageOps.autocontrast on the grayscale before the point call, or blur by a pixel first. If the whole picture goes black, raise CUT; if the lines vanish, lower it. Print the black coverage for each candidate cut and keep the one whose coverage matches the ink density you want, since that number is comparable across all three renders.
What does Flux 2 Flex accept on Sume?
The catalog lists it as edit-capable with up to 10 references and 1 to 4 images per call. Its ratios are 1:1, 16:9, 9:16, 4:3, 3:4, 4:5, 5:4, 3:2, 2:3, 21:9, 9:21, 1:2 and 2:1, with no auto. This row also accepts custom pixels through image_size, and when you send image_size it takes priority over aspect_ratio, so send one of the two, not both. Sume's docs say fields a model does not list, such as quality here, return 400 unsupported_parameter.
| Setting | Value |
|---|---|
| Model id | black-forest-labs/flux.2-flex |
| Catalog price | $0.0625 per image |
| Aspect ratios | 13 values, no auto |
| Custom pixels | image_size accepted; wins over aspect_ratio |
quality | Not listed, returns 400 |
Which prompt works for carved lines?
Describe the process, not the subject: "woodcut print, bold black carved lines, hatching for shadow, white paper, no gray, no gradients." Keep the subject from the photo implicit by sending it as the reference, and say what to preserve, such as the pose and the horizon line.
The edit path returns the image directly when it finishes inside 30 seconds and a 202 job envelope otherwise. Check the status code first, as described in Jobs and results.
Sources
Related posts
More in Use cases
- Holiday mini-session promo: six sample photos in a 15-second reel
Sell mini-session slots with a 15-second reel of six samples: Timeline, music and a booking line cost $0.24 on Sume, or $1.44 with upscaling.
- Pinterest bulk upload for video Pins: a .txt file, not a CSV
Pinterest bulk uploads video Pins from a .txt file: 200 a day for US business accounts, Who can view set to everyone, a thumbnail each. Prep clips with Sume.
- Salon gift certificate holiday promo: card art and clip, $0.90
Gift certificate promo for a salon: Ideogram 4.5 card art ($0.075), a 5-second Wan 3.0 720p clip ($0.625) and terms as caption cues ($0.20): $0.90.
- Secret Santa invite video: a card image, a clip, and the rules
Make an office Secret Santa invite: one card image, a 5-second Wan 3.0 clip and rules burned as caption cues. $0.6125 on Sume with a 480p clip.
Written by Sume