One API for Kling, Seedance and other video models, one bill

Yes: Sume's POST /v1/videos calls Kling, Seedance and other video models with one API key and one bill. Veo is not in its catalog. Rates and a sample call.

6 min readSume
All posts

Yes, for the models in its catalog. Sume's POST /v1/videos takes one API key and bills one workspace balance across 10 video model ids in 6 families (Kling, Seedance, Wan, Grok Imagine, MiniMax and Gemini Omni Flash), and model: "sume/auto" lets Sume pick the model. Veo is not in Sume's catalog today, so a Veo call still needs another provider.

Sume facts come from the Video generation docs, the Video Router docs, and Sume's pricing code; facts about fal, Replicate, Runway, and Kling come from each company's own pricing page. All were read on 2026-09-28. Below: the models and rates, what "one bill" means, a request that switches models, and the other multi-model APIs.

Which video models does the one API cover?

Every model below is called on the same route with a bare catalog id, never an org/slug id. GET /v1/videos/models lists them with each model's supported resolutions, aspect ratios, durations, and pricing_skus. Limits differ by model: seedance-2.5 and wan-3.0 run up to 30 seconds, and every other catalog model tops out at 15 seconds.

If you only need one family, calling that vendor directly is the other option; Sume vs Kling and Sume vs Seedance compare the two routes.

Model ids from Sume's catalog code; rates are provider list prices × 1.25 from Sume's pricing code and Video generation, read 2026-09-28, before the 5.5% agent fee. Per-model detail: How much does AI video cost per second?
FamilySume model idsBilled perSume rate
Klingkling-3Second, by sound$0.14 silent, $0.21 with sound
Seedanceseedance-2.5, seedance-2-mini, seedance-2, seedance-2-fast1,000 video tokens$0.00875 to $0.02675 by model; $0.02925 for 2.5 at 1080p (about $0.58 a second for 2.5 at 720p 16:9)
Wanwan-3.0Second, by resolution$0.0625 at 480p to $0.25 at 1080p
Grok Imaginegrok-imagine-video-1.5Second$0.0125
MiniMaxminimax-h3, minimax-h3-maxSecond, by resolution$0.0625 at 480p to $0.20 at 1080p (1080p on H3 Max)
Gemini Omni Flashgemini-omni-flash-1.1Second, by resolution$0.0375 at 360p to $0.375 at 4K

What does a single bill mean on Sume?

One workspace balance pays for every model, and one ledger records it:

  • One balance: Sume's pricing FAQ says credits sit in one balance, and video generation, Sume Agent, Formats, and the API all draw from it at each model's published rate.
  • One billing rule: every video model is reserved from the workspace USD balance on submit at the provider's list price × 1.25.
  • The agent fee: 5.5% by default, charged on top of the model amount. What is the Sume agent fee? shows where it is reported.
  • Where rates live: API pricing lists the Video Router as pass-through, per model (provider list rates × Sume margin), with per-model rates in the catalog. For video models, GET /v1/videos/models returns those rates as pricing_skus.
  • One ledger: GET /v1/balance and GET /v1/usage read the workspace's balance and usage ledger for every model, GET /v1/usage?job_id=… sums what one job cost, and a finished job's usage.cost is the Sume billable amount. Reserved usage is refunded after a failure, or a cancellation before capture.

How do I switch models without changing code?

Change the model field. The rest of the request, the job, polling, and the download stay the same. Send a new Idempotency-Key with the new body, and check the target model's supported_durations, supported_resolutions, and supported_aspect_ratios first.

The route follows OpenRouter's video API field for field; An OpenRouter-compatible video API covers that. To skip choosing, send sume/auto: responses echo sume/auto, and Sume does not disclose which family ran. Auto defaults to 720p and 8 seconds, with 3–10 second clips at 16:9 or 9:16.

curl -sS -X POST "https://api.sume.com/v1/videos" \
  -H "Authorization: Bearer $SUME_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: orbit-001" \
  -d '{
    "model": "kling-3",
    "prompt": "Cinematic product orbit on a clean table",
    "duration": 5,
    "resolution": "720p",
    "aspect_ratio": "16:9"
  }'

# Same body on another family: change only "model"
# (for example "seedance-2" or "wan-3.0") and the Idempotency-Key.

Can I call Veo through Sume?

No. Veo is not in Sume's video catalog today, and no Sume model id calls it.

If you need Veo on the same account as other models, two multi-model pricing pages list it: fal's shows Veo 3 at $0.4 per second, and Runway's API pricing shows veo3.1 at 20 credits per second without audio and 40 with audio, at $0.01 per credit.

Which other APIs bill several video models on one account?

Sume is not the only one. What each company's own pricing page says, in alphabetical order:

From each company's pricing page, read 2026-09-28. Quoted as listed; prices change.
APIModels it listsHow its page says it bills
fal1,000+ image, video, audio and 3D models, per its home page; its pricing page lists Kling 2.5 Turbo Pro at $0.07 per secondPrepaid credits; each model has its own pricing and billing unit, and video models charge per second or per video (billing docs)
KlingKling models: Kling 3.0 Turbo, 3.0, 3.0 Omni, O1, 2.6, 2.5 TurboResource package units per second, e.g. Kling 3.0 at 0.6 Units ($0.084) a second at 720p without native audio
ReplicateThousands of community models plus hosted proprietary modelsSome models by hardware and time, others by input and output; estimates on each model's page
Runwaygen4.5, wan3, seedance2_5, grok_imagine_1_5, veo3.1 and othersCredits at $0.01 each; a Model Router bills the standard rate of the model it selects

When is Sume not the right pick?

For the full platform comparison, see fal.ai and Replicate alternatives for video. Sume is the wrong fit when:

  • You need a model outside its catalog, such as Veo, or gen4.5 on Runway's API.
  • You only use one family and would rather pay that vendor directly: Sume bills its provider's list price × 1.25, plus the agent fee.
  • You need a seed: no v1 model accepts one.
  • You need provider-specific options: a non-empty provider.options returns 400 unsupported_parameter.

Sources

Related posts

More in Models

All Models posts

Written by Sume