fal Recast defaults to 1080p, Sume to 768p: check your resolution
Porting Recast from fal to Sume flips the default from 1080p to 768p and changes the price. Send resolution explicitly, in Sume's lowercase values.

If you omit resolution, fal Recast renders at 1080p and Sume's h3-max-recast renders at 768p. The two defaults are different tiers with different prices, so a script ported from one to the other changes cost and sharpness without any error. Set resolution explicitly in both places and the difference disappears.
fal's API schema lists resolution as an enum of 768P or 1080P with 1080P as the default (read 2026-10-03). Sume's Video Router docs list h3-max-recast at 768p and 1080p with 768p as the default (Video Router docs, read 2026-10-03).
The two schemas side by side
The request bodies are close cousins, which makes the port feel trivial and hides the differences. fal calls the source video_url and the photos reference_image_urls; Sume's Video Router uses the same two names. The differences are in the defaults and in what each side accepts around them.
| Field | fal (H3 Max Recast) | Sume (h3-max-recast) |
|---|---|---|
| Source | video_url, 5 to 30 s, no shot over 15 s | video_url, 5 to 30 s, no shot over 15 s |
| Photos | reference_image_urls, one per person | reference_image_urls, 1 to 4, one per person |
| Resolution values | 768P or 1080P | 768p or 1080p as shown in Sume's docs |
| Default resolution | 1080P | 768p |
| Seed | Optional integer | Not accepted: no v1 video model takes seed |
| Prompt | Optional | Optional, up to 2,000 characters |
| Price at list | $0.30/s at 768p, $0.45/s at 1080p | same list x 1.25 |
| Idempotency | Not part of the schema | Idempotency-Key header |
What an omitted resolution costs
On a 10-second source the gap is easy to see. At fal's list, the default 1080P clip is $4.50 and an explicit 768P clip is $3.00. Through Sume, the default 768p clip is $3.75 and an explicit 1080p clip is $5.63. A script that relied on fal's default and is pointed at Sume with no changes will therefore produce a lower-resolution, cheaper clip than it used to, which is the safer failure but still a silent one. The reverse port, from Sume to fal, will quietly upgrade every clip to the dearer tier.
Nothing in either API warns you, because both are behaving correctly. The fix is a one-line habit: always send the field you care about.
Why the default matters more for Recast than for most models
Resolution is the only price lever inside a Recast call: reference photos are free and the duration is fixed by the source. That makes the default the single biggest silent cost decision in an integration. A team that ports a fal script and keeps its volume the same sees the bill fall by roughly a third on list price before the multiplier, because 768p is $0.30 per second against $0.45 at 1080p. A team going the other way sees it rise by half.
There is also a quality angle. A 768p draft is fine for checking whether the casting reads well and whether the replaced person tracks across the cuts. A 1080p final is what you ship. Treat the explicit field as part of your review workflow: drafts say 768p in code, finals say 1080p, and neither relies on a default that a vendor can change.
A port that stays explicit
The request below pins everything that differs. It also sends an Idempotency-Key, which fal's schema has no equivalent for, and leaves seed out because Sume rejects it.
curl -X POST https://api.sume.com/v1/video-router/generate \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: recast-port-001" \
-d '{
"model": "h3-max-recast",
"video_url": "https://example.com/source.mp4",
"reference_image_urls": ["https://example.com/person-1.jpg"],
"resolution": "1080p",
"mode": "async"
}'Porting checklist
Before you switch an existing fal Recast integration, run through these items in order. They take minutes and each one maps to a documented difference.
- Search your code for any call that omits
resolution; add it explicitly. - Lowercase the resolution strings to match Sume's docs.
- Delete any
seedargument; Sume's v1 video models do not accept it, so rerun the clip for another take instead. - Add an
Idempotency-Keyto every submit. - Swap fal's queue polling for Sume's
GET /v1/jobs/{id}/statusand/result, described in the Jobs and results guide. - Re-quote your batch: the Sume price is the fal list times 1.25.
Sources
Related posts
More in Comparisons
- Flixier Starter 60 export minutes for $19 vs Sume per-job pricing
Flixier Starter lists 60 export and 120 subtitle minutes for $19 a seat. Twenty 3-minute Reels cost $18.00 on Sume. How the two models cross, with the numbers.
- FLUX.2 pro vs flex: which model id to send on Sume and what you lose
Black Forest Labs sells flex for typography and adjustable steps; Sume lists both ids but passes no steps or guidance. Rates, ratios and how to choose.
- FLUX 3 Image alternatives on Sume, feature by feature
No FLUX 3 Image in Sume's catalog yet. Match each FLUX 3 feature, 10 references, 4K, region edits, grounding, to the Sume model that has it or the gap.
- FLUX 3 Image launch discount: a 40-image test plan before it ends
BFL's calculator shows $0.048 and $0.024 for FLUX 3 Image at 1K. Spend about $1 on a fair test and baseline it on Sume with FLUX.2 Pro and GPT Image 2.5.
Written by Sume