Meldport
Integration & migration

Calculate video API cost per usable result

Compare AI video generation costs using duration, resolution, output count, accepted results, and the difference between a quote and final settlement.

Hands checking a calculator beside handwritten calculations
A task budget starts with recorded requests, not a headline token rate. Photo: kaboompics.com / Pexels.

Video generation API cost depends on the selected model and request settings. Compare the cost of a usable clip at the same duration, resolution, and output count. Keep the quoted estimate, reserved wallet amount, and final charge separate. A cheap attempt can become an expensive finished asset when several paid attempts fail your acceptance rule.

The examples below use invented prices solely to explain the arithmetic. They are not current provider offers or measured success rates. Use the video model directory for published configurations and obtain a current quote for the exact request. Meldport's media documentation describes its own quote, job, and variable-billing workflow; another provider's direct API can use different rules.

Example at a fixed clip specification

Compare six-second, 720p, landscape, text-to-video clips without audio, one output per job. Use the same acceptance rule for every attempt. In this illustration, ten finalized charges of $0.24 total $2.40. If six clips pass review, the acceptance rate is 60% and the cost per usable clip is $2.40 ÷ 6 = $0.40. The $0.24 and 60% are assumptions. Replace them with the settled charges and approved count from your test.

On the published video pricing page, open a model to check whether it offers that exact duration, resolution, input type, and output count. Compare its quote using the listed billing unit. If a model lacks that configuration, record it as unavailable for this comparison.

Define a usable clip before comparing prices

A usable result is one that meets a written acceptance rule. For a product demonstration, that might mean a six-second landscape clip with the requested subject visible throughout, no unwanted text, and enough visual consistency for the intended placement. Technical completion only establishes that a file was generated. It does not establish that an editor will accept it.

Keep the rule stable across a small comparison. If you accept a lower-resolution draft from one model but require a polished final from another, the price comparison changes the deliverable as well as the service. Record any post-production needed to reach the same standard. Upscaling, removing a faulty ending, replacing audio, and another generation pass belong in the task budget when they are required.

Separate technical failure, creative rejection, and business rejection. An invalid file is different from an attractive clip that shows the wrong product. A customer changing the brief is different again. These categories explain why a paid attempt was not used and help you decide whether the fix belongs in validation, prompting, model selection, or the acceptance process.

Read the billing unit for the exact model

Published video prices can use different units and conditions. Runware's pricing documentation describes unit-priced models and compute-time-priced models, as well as settings that influence cost. Its model-specific schema and price information are the appropriate source for a direct Runware request. A single per-second rate should not be applied across an entire catalog.

When comparing a gateway with a direct provider, use each service's customer-facing price and billing contract. An upstream cost is not automatically the retail charge. Match the model variant, resolution tier, requested duration, number of outputs, reference media, and any audio setting before placing two numbers in one row. Leave an unmatched value unknown instead of filling it with a nearby model's price.

Save the observation date and the configuration identifier with the quote. Runware's model schema documentation provides model-specific request definitions for its direct API; those fields must be mapped to the gateway contract you actually call. A display name can remain unchanged while a service updates an option set or billing policy. For a reproducible comparison, another person needs to know what was requested and when the rate was available. An archived screenshot is helpful context, but the request settings and final usage record make the calculation auditable.

Hypothetical six-second video at four cents per second costs twenty-four cents per attempt; accepted-result cost depends on accepted clips
Invented linear tariff and acceptance counts for arithmetic only. No live model price or measured quality claim. Illustration: Meldport, made with Hyperframes.

Calculate duration and output count explicitly

For a hypothetical service charging $0.04 per generated second, a six-second output has a listed generation subtotal of $0.24. Two such outputs have a subtotal of $0.48. Ten outputs have a subtotal of $2.40. This example assumes a linear per-second tariff with no minimum, rounding adjustment, audio fee, or other charge. It is not a quote for a Meldport model.

Write the formula as duration multiplied by output count multiplied by the applicable unit rate. Then add only the other charges the selected contract actually specifies. If the model prices a complete clip instead, use that clip price and supported duration tier. If the service measures compute time, requested clip seconds alone cannot establish the final cost; preserve the measured billing evidence.

Do not confuse a batch size with one output. A request that asks for four candidates can use four times the units under a simple per-output tariff, even though your application receives one response object. Check both the request's output count and the number of usable assets returned. Partial delivery can need its own contract-specific settlement rather than a blanket assumption that all requested candidates were charged or refunded.

Compare resolution without inventing a multiplier

Resolution is a separate comparison dimension. A 1920 by 1080 frame contains 2.25 times the pixels of a 1280 by 720 frame. That geometric relationship does not prove a 2.25-times price. A provider may use discrete tiers, a model-specific minimum, a different architecture, or compute-time billing. Apply the published tier or current quote rather than deriving an unadvertised rate from pixel count.

For an initial creative test, choose a supported lower-cost setting that can still reveal whether the subject and motion are suitable. Before producing the final asset, quote the target configuration again. A good draft at one resolution is evidence about that draft; it is not proof that the same prompt will reproduce the result at another setting or that the cost stays proportional.

Keep aspect ratio beside resolution in your worksheet. Cropping a landscape clip into a vertical placement can remove the subject or require regeneration. If the business needs both formats, count both deliverables or confirm that one source can be safely reframed. The cost comparison should reflect the real delivery requirement rather than whichever preview happens to look cheapest.

Distinguish the quote, reservation, and final charge

A quote states the service's current estimate or price under a specified contract. A reservation temporarily protects the funds needed to start work. A final charge is the amount established when the financial outcome is settled. Those values can coincide for a fixed-price job, but their names do not make them interchangeable for a variable-cost job.

Meldport exposes its accepted billing policy and relevant quote information before dispatch. Read the actual response and required consent for the chosen configuration. Variable billing can include a maximum reservation, later cost reconciliation, applicable markup, and a bounded wallet-debt policy disclosed by the request contract. Do not present the reservation as a guaranteed final bill or omit the accepted debt condition from a user-facing purchase decision.

Your application should display the policy it is asking the user to accept in plain language. Store the quote or configuration reference, requested options, job ID, accepted policy version, and final settlement reference. If the quote expires or settings change, obtain a fresh quote. Reusing a screen capture from yesterday does not establish that the server accepted the same terms today.

Measure cost per accepted result with observed data

If the same illustration accepts only three clips, the cost per accepted clip becomes $0.80. That change comes entirely from the acceptance rule and observed count, even though the charge per attempt stays the same.

Use total finalized generation charges divided by accepted clips, and state the sample size. Include charged attempts that were technically successful but creatively rejected. Report any unresolved jobs separately until their final charge is known. When there are no accepted clips, report the spend and zero accepted results; do not publish a zero-dollar cost per success or hide the denominator.

For planning, a larger set of repeated tasks gives more information than one impressive sample. Keep prompts and acceptance rules comparable, and review outputs without changing the rule after seeing the vendor. Small samples remain uncertain, especially when creative judgment matters. Publish the scope of your evaluation rather than turning a few favorite clips into a general quality ranking.

Account for retries and unresolved jobs

A timeout at the client does not prove a video job stopped. Store the returned job ID and poll the existing operation. If submission returned no usable response, recover through the endpoint's supported idempotency behavior and request history before creating a new operation. The retry guide explains why a new identity can cause duplicate work.

Meldport distinguishes queued, running, reconciliation, and terminal outcomes. A job under reconciliation can have an uncertain provider or financial result. Keep that amount outside a finalized comparison, and show it as pending exposure. Do not assume every missing output is free or promise immediate release of the reservation merely because the user closed a browser tab.

Separate a retry needed to recover an operation from a deliberate creative variation. The latter is new work and should have a new task identity and budget. Changing the seed, prompt, duration, or input reference can change the fingerprint and cost. A workflow that silently generates another candidate after every rejected result needs a strict attempt cap and a visible total-spend limit.

Include adjacent costs that the workflow actually uses

Reference-image generation, audio production, upscaling, storage, and editing can contribute to the finished asset. List these as separate line items instead of hiding them inside a video rate. If your workflow does not use a service, do not add a fictional fee. If its cost is unknown, mark the assumption and explain how the final result will be measured.

A hypothetical finished asset might use $0.80 of video attempts, $0.05 for an image reference, and $0.10 for another processing step. Its generation-related subtotal is $0.95 before any separately applicable storage, payment, or editing expense. These amounts demonstrate addition only. Replace them with actual settled records and the relevant quote before making a buying decision.

For a team, also track the human time needed to select and repair outputs. You can keep that time separate from the API bill while still showing it in a business comparison. A model with a lower API subtotal may require more review. Without a consistent acceptance rule and recorded review effort, neither the cheap rate nor the polished sample explains total production cost.

Build a small evaluation worksheet

One row per attempted job is enough to start. Include a local task ID, environment, model and configuration ID, observation date, duration, resolution, aspect ratio, output count, audio mode, quote, reservation, final charge, terminal state, accepted-output count, and rejection reason. Keep references to supporting records while restricting access to private prompts and uploaded assets.

Aggregate only finalized rows when reporting actual spend. Put unresolved reservations in a separate pending column. Group comparisons by the same deliverable, not merely by provider name. For example, compare six-second landscape drafts separately from ten-second vertical final clips. This prevents a change in the workload mix from appearing to be a price improvement.

Begin with one small manual job, verify the file and final charge, and then expand to a bounded sample. The image, video, and audio directories provide starting points for the corresponding media types. For language-model steps that prepare prompts or review text, use the separate token cost per task method. Keep each billing unit visible so the final asset budget can be reproduced.

About these field notes

Written by the Meldport team for developers evaluating model APIs. Worked examples are labeled; provider documentation and published rates can change. Questions or corrections? Contact the team.