61.4-second voice track on VEED Fabric: billed 62 s, $11.63 at 720p

VEED Fabric 1.0 on Sume bills ceil of audio seconds: 61.4 s is 62 s, 62 x $0.1875 = $11.625 at 720p, $6.20 at 480p. Includes a Python route picker.

5 min readSume
All posts

A 61.4-second voice track on VEED Fabric 1.0 is billed as 62 seconds on Sume: 62 x $0.1875 = $11.625 at 720p, shown as $11.63, or 62 x $0.10 = $6.20 at 480p (catalog, read 2026-10-09). The route prices per ceil of the audio second, and it accepts audio up to 300 seconds, so a track a little over a minute is no problem; it just rounds up.

The rounding table

The tenths that cause surprises are the ones that tip you over a whole second. This table shows a few lengths around one minute at the two Fabric resolutions.

VEED Fabric 1.0 billed seconds and cost (rates read 2026-10-09)
AudioBilled seconds480p at $0.10720p at $0.1875
60.0 s60$6.00$11.25
60.1 s61$6.10$11.4375
61.4 s62$6.20$11.625
62.0 s62$6.20$11.625

A route picker you can run

MiniMax H3 Max Lip Sync accepts audio of 5-14.8 seconds, and Fabric accepts 1-300 seconds, so the length of the audio decides which routes are open. The script below checks both windows, applies the ceil rule and returns the route, the billed seconds and the cost. It uses the catalog rates above; re-read the catalog at https://api.sume.com/v1/catalog if you cache them.

import math

RATES = {  # USD per audio second, Sume catalog read 2026-10-09
    "h3-max-lip-sync": {"480p": 0.0625, "768p": 0.10, "1080p": 0.20},
    "fabric": {"480p": 0.10, "720p": 0.1875},
}

def plan(audio_seconds, resolution="720p"):
    billed = math.ceil(audio_seconds)
    if 5 <= audio_seconds <= 14.8 and resolution in RATES["h3-max-lip-sync"]:
        route = "h3-max-lip-sync"
    elif 1 <= audio_seconds <= 300 and resolution in RATES["fabric"]:
        route = "fabric"
    else:
        raise ValueError("no route accepts this audio length and resolution")
    return route, billed, round(billed * RATES[route][resolution], 4)

print(plan(61.4))         # ('fabric', 62, 11.625)
print(plan(9.2, "768p"))  # ('h3-max-lip-sync', 10, 1.0)

Notes on the declared length

The request carries duration_seconds, and Sume uses it for the reservation at admit: ceil of that value times the resolution rate times the margin. Send the length you measured from the file, not a round number. If you declare 300 for a 61.4-second track, you reserve $56.25 at 720p instead of $11.63 and tie up balance you may need for other jobs.

The audio file itself must be Sume-hosted and under 10 MB. A track near a minute is far from the cap as an MP3. A long uncompressed export may not be, so check.

Choosing a resolution for a one-minute talking still

For a 62-billed-second clip, 480p costs $6.20 and 720p $11.625, a difference of $5.425. If the clip plays in a small frame, such as a corner inset or a phone feed, 480p is often enough. If it is the main video on a large screen, 720p is the sensible choice. Draft at 480p, then rerun the keeper at 720p, and the pair costs $17.825.

Measure the audio with a tool you trust, such as ffprobe, and send that value, rounded up to a whole second if you prefer. Send Idempotency-Key on the submit so a network retry does not create a duplicate reservation, and poll the job rather than waiting on one request.

Sources

Related posts

More in Developers

All Developers posts

Written by Sume