H3 Max Recast price calculator: Python, 768p and 1080p per clip

A short Python function prices a Sume h3-max-recast clip from its length and resolution: $0.30 or $0.45 list per second, times 1.25, rounded up to the cent.

6 min readSume
All posts

A Recast clip on Sume costs the source length in seconds, rounded up, times the fal list price for the resolution, times 1.25, rounded up to the cent: $0.375 per second at 768p and $0.5625 per second at 1080p. A 10-second source is $3.75 at 768p and $5.63 at 1080p. The function below does that arithmetic so a batch script can quote a job before it submits one.

The inputs come from two places. fal lists H3 Max Recast at $0.30 per output second at 768p and $0.45 at 1080p, with reference images included at no extra charge (read 2026-10-03). Sume's Video Router docs say every catalog row is billed at provider list times 1.25 and that for h3-max-recast the duration is the source video's length, rounded up (Video Router docs, read 2026-10-03).

The calculator

Use Decimal rather than floats so a cent boundary never flips on a binary rounding error. The function takes the probed length of the clip, rounds it up to whole seconds, multiplies, and rounds the total up to the cent. It also refuses lengths outside 5 to 30 seconds, because the catalog rejects them anyway.

from decimal import Decimal, ROUND_CEILING
import math

LIST_PER_SECOND = {"768p": Decimal("0.30"), "1080p": Decimal("0.45")}
MARGIN = Decimal("1.25")

def recast_cost(source_seconds: float, resolution: str = "768p") -> Decimal:
    if not 5 <= source_seconds <= 30:
        raise ValueError("Recast sources are 5 to 30 seconds")
    seconds = math.ceil(source_seconds)
    total = Decimal(seconds) * LIST_PER_SECOND[resolution] * MARGIN
    return total.quantize(Decimal("0.01"), rounding=ROUND_CEILING)

for length in (5, 10, 12.4, 30):
    print(length, recast_cost(length, "768p"), recast_cost(length, "1080p"))

What the numbers look like

Running the function over common ad lengths gives the table below. The 12.4 second row shows the round-up: Sume bills 13 seconds, so it prices like a 13-second clip.

Sume price per Recast clip, fal list x 1.25, read 2026-10-03
Source length768p1080p
5 s$1.88$2.82
10 s$3.75$5.63
13 s (12.4 s source)$4.88$7.32
15 s$5.63$8.44
20 s$7.50$11.25
30 s$11.25$16.88

Where the quote can differ from the charge

The function is an estimate of the catalog price, not a ledger. Three things can move the real number. The catalog is the source of truth for the multiplier and the list price, so read the row from GET /v1/video-router/models/h3-max-recast when you need the live figure rather than hard-coding it. A job that fails is refunded, so a failed clip costs nothing in the end, but the hold sits on your balance while it runs. And the amount is reserved when you submit, so a batch of 20 thirty-second clips at 1080p needs about $337 free in the wallet before the last submit is admitted.

If you only need a draft to check a casting, the cheapest honest path is a 5-second source at 768p, which is $1.88. Resolution is the only price lever you control inside a clip; reference photos cost nothing extra, so using all four is no more expensive than using one.

  • Quote with recast_cost, then submit with an Idempotency-Key.
  • Read usage.billable_amount_usd_micros on the submit envelope to compare the real hold with your quote.
  • Keep drafts at 768p and re-run only approved clips at 1080p.

Pricing a whole batch

Per-clip prices matter less than the batch total, because a Recast job is most often one of many variants of the same ad. The pattern is to probe each source, quote it with recast_cost, and sum the quotes before you submit anything. If the sum is above the balance you are willing to hold, drop the resolution on the lowest-priority clips or split the batch into waves.

A worked example: 12 variants of a 15-second source at 768p is 12 times $5.63, or $67.56. The same 12 at 1080p is 12 times $8.44, or $101.28. The $33.72 difference is the price of the extra sharpness, and it is worth paying only for the variants that survive review. Because reference photos are free, the cheapest way to explore casting is many photos at 768p, then a single 1080p render of the winner.

One caution on the numbers: the table assumes whole-second sources. A probe often reports 14.97 or 15.03 seconds. The second rounds up to 16 seconds, which adds a second of billing, so trim a clip to a clean length before you quote it if the cent matters to you. The Video trim docs describe cutting a range out of a Sume-hosted clip into a new MP4.

Related checks

Seconds are rounded up per clip, not per batch, so ten 5.2-second sources bill as ten 6-second jobs. If your source lengths come from a probe, round up before you quote. For the refund path see what Sume refunds when a Recast job fails, and for the draft-then-final pattern see 768p draft then 1080p final.

Sources

Related posts

More in Pricing

All Pricing posts

Written by Sume