Approve the first frame before paying for motion: a $0.0094 draft gate

Review three $0.0094 draft stills, approve one, then pay $0.0835 for the final and $1.89 for the clip: $2.00 a SKU, against $5.75 for three blind clips.

4 min readSume
All posts

The cheapest approval step in an AI product-video pipeline sits before any video is made. Generate three low-quality draft stills of a SKU at $0.0094 each on Sume, let a person pick one, render the pick at high quality for $0.0835, and only then pay $1.89 for the 5-second 720p Seedance 2 clip. That is $2.0017 per SKU, against $5.7535 if you generate three clips blind and pick the best (prices read 2026-10-05). The saving across 100 SKUs is $375.18.

Why the first frame is the gate

In image-to-video, the first frame fixes the product, the background and the framing; the model animates what it is given. A wrong still means a wrong clip, so reject at the cheapest point. The Sume videos docs describe passing the still as first_frame in frame_images, and the image docs list the quality choices for gpt-image-2.5.

This is a workflow pattern you run in your own tooling. Sume does not pause a generation for human approval, so the gate is your code: generate drafts, show them, wait for a pick, then call the video endpoint.

Per-SKU cost with and without a still gate, Sume prices read 2026-10-05
StepGate firstThree blind clips
Three low-quality edits$0.0282none
One high-quality edit$0.0835$0.0835
Seedance 2 720p 5 s clips1 x $1.893 x $1.89
Total$2.0017$5.7535

The arithmetic as code

The function below prices a SKU with optional rejects at each stage, so you can see how a rejected still costs cents and a rejected clip costs dollars.

LOW, HIGH, CLIP = 0.0094, 0.0835, 1.89  # Sume billable USD (read 2026-10-05)


def cost_per_sku(drafts, stills_rejected, clips_rejected):
    """Drafts are low-quality edits; one high-quality still follows approval."""
    still = drafts * LOW + (1 + stills_rejected) * HIGH
    return round(still + (1 + clips_rejected) * CLIP, 4)


gate_first = cost_per_sku(drafts=3, stills_rejected=0, clips_rejected=0)
clip_first = round(3 * CLIP + HIGH, 4)  # three clips, pick one
print("approve the still first:", gate_first)
print("generate three clips:  ", clip_first)
print("100 SKUs saved:", round((clip_first - gate_first) * 100, 2))

Where the gate does not help

A good still can still animate badly: a hand bends, a label shimmers. The gate removes the failures that were visible before motion; it cannot remove the ones that appear only in the clip. Keep a reject allowance for the clip stage, as in the reject-rate budget.

  • Draft at low quality, finish at high, and use the same prompt and reference so the pick carries over.
  • Approve on a phone-sized view; the ad will be watched there.
  • Log which draft was picked per SKU so reviewers see what they are approving.

For a proof-then-final loop that works at the clip level, see the agency approval loop at 480p; for dividing image spend by what you keep, see cost per approved ad image.

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume