200 YouTube thumbnails: plate plus host cutout $9.45, all-high $44.50
Generate a background plate at GPT Image 2.5 low ($0.02475), cut out the host ($0.0225) and compose in Pillow: $9.45 for 200 thumbnails, against $44.50 at high.
A thumbnail with a real host photo, built from a generated background plate at GPT Image 2.5 low ($0.02475), a cutout of the host ($0.0225) and a local Pillow composite, costs $0.04725 each. 200 of them are $9.45. Generating every thumbnail in one shot at the high-quality tier ($0.2225) would cost $44.50.
The arithmetic
Plate plus cutout is $0.02475 + $0.0225 = $0.04725 per thumbnail, and 200 x $0.04725 = $9.45. The same plate at medium ($0.055625) gives $0.078125 each and $15.625 for 200. Compositing is free because it runs on your machine.
The one-shot route has a different shape. It asks the model to draw the host from a reference, and the Image API says that omitting quality means high. That is the $0.2225 row, so 200 x $0.2225 = $44.50.
| Route | Per thumbnail | 200 thumbnails |
|---|---|---|
| Low plate plus host cutout, Pillow compose | $0.04725 | $9.45 |
| Medium plate plus host cutout, Pillow compose | $0.078125 | $15.625 |
| One-shot at high quality | $0.2225 | $44.50 |
Match YouTube's file rules
YouTube's help page recommends custom thumbnails of 3840 x 2160 for videos, JPG or PNG, and says mobile uploads must stay under 2 MB while desktop allows 50 MB. A composite that goes to Studio on a phone needs to be under 2 MB, so the script below lowers JPEG quality until it fits.
The plate does not need to be 4K. Make it at a size the model accepts, such as 1280 x 720 (both edges are multiples of 16 and the pixel count is above the 655,360 minimum), then place the cutout on it.
from PIL import Image
import io
def compose(plate_path, cutout_path, out_path):
plate = Image.open(plate_path).convert("RGB")
cut = Image.open(cutout_path).convert("RGBA")
scale = plate.height / cut.height
cut = cut.resize((round(cut.width * scale), plate.height), Image.LANCZOS)
plate.paste(cut, (plate.width - cut.width, 0), cut)
for q in (92, 85, 78, 70):
buf = io.BytesIO()
plate.save(buf, "JPEG", quality=q)
if buf.tell() < 2 * 1024 * 1024:
break
with open(out_path, "wb") as f:
f.write(buf.getvalue())
return q, buf.tell()Where this route breaks
It needs a clean host photo for each video. If you do not have one, the cutout step has nothing to cut. It also gives you a fixed layout: the host stands on one side, and text goes on the plate. For thumbnails where the expression must change per video, shoot more photos or use a reference edit instead.
The per-image prices above come from the shared Sume catalog rows. Read usage.cost on each response for the amount actually billed, and see the post on RMBG output and order for transparency details.
A test plan for 200
Do not generate all 200 plates on day one. Make 10 thumbnails with the plate-and-cutout route, put them next to 10 one-shot versions, and check them at phone size. The test costs 10 x $0.04725 + 10 x $0.2225 = $2.6975.
If the composites hold up, scale to 200. If the host looks pasted on, adjust the plate prompt for light direction before you spend more.
- Ask the plate prompt for an empty area where the host will stand.
- Match the plate's light direction to the host photo.
- Keep text out of the plate and add it in code, so you can re-run the headline for free.
Sources
Related posts
More in Use cases
- 21 Shorts a week at 59 seconds: render and captions cost $6.30
Three Shorts a day for a week, each held to 59 seconds: one Timeline render ($0.10) and one caption job ($0.20) per Short comes to $6.30.
- Make a still dance to a 22-second reference: $3.465 on Sume
Kling 3.0 Motion Control copies the movement of a 22-second dance video onto one character still. On Sume it costs 22 x $0.1575 = $3.465.
- 24 children's book pages at 4K: $4.80 or $5.34 on Sume
Twenty-four 4K pages cost $4.80 on Nano Banana 2.1 or $5.34 on GPT Image 2.5 high on Sume. Google lists Nano Banana 2.1 4K at $0.113 direct.
- 250 product photos to 5-second 1080p clips with Omni: $234.38 on Sume
250 SKUs as 5-second image-to-video clips cost $234.38 at 1080p, $156.25 at 720p and $46.88 at 360p on Sume's Omni row. A draft plan brings it to $103.13.
Written by Sume