Skip to content
Music Video

Omn V1 pricing and scheduling

Availability varies by operationOpen App ↗

Omn V1 quickstart · Compare music video options

Omn V1 prices the video by render tier and delivery resolution, in credits per second of output. The machine-readable source for these numbers is the Omn V1 price card in GET /api/v1/pricing/catalog:

generation.renderTier540p720p1080p1440pMinimum credits per full MV
draft9———0
standard—12——0
hd——20—0
ultra—2835480

New 540p purchases use Draft. Existing Standard 540p MVs remain readable, editable and composable; new scene edits use the current Standard rate of 12 credits/second. Their original receipts and refunds are unchanged. New upgrades to Standard use 720p.

A dash marks a combination that is not offered. Video credits equal the tier’s per-second price × effective output seconds rounded up. Full MVs require at least 5 seconds of effective audio; shorter inputs are rejected before charging. There is no minimum credit charge, and no duration is added to meet a spending floor. Singing, performance and dance shots cost the same as story shots. Visual Board images, subtitles and other add-ons keep their separate public prices. All customers pay the same credits for an Omn order, without account or economy discounts. Credit recharge packages are unchanged; their cash price per credit can still differ. Purchased Tasks keep their original charge.

For example, a 44.8-second song is billed as 45 seconds: Draft 405, Standard 540, HD 900 or Ultra 1260/1575/2160 (720p/1080p/1440p) video credits, before add-ons. Use quote or preflight for the complete amount and availability.

draft is a lower-cost 540p pass for reviewing a video before you upgrade it. Choose a tier explicitly, or omit generation.renderTier and let resolution and quality select it:

RequestRender tier
resolution: "1440p", or generation.quality: "high" at 720p or 1080pultra
Standard quality at 540pdraft
Standard quality at 720pstandard
Standard quality at 1080phd

When you set a tier without resolution, draft uses 540p, hd 1080p and ultra and standard 720p. A tier with a resolution it does not deliver returns 400 MV_RESOLUTION_INVALID. New 540p purchases require Draft. Legacy request profiles can expose a different tier matrix; see Read capabilities. generation.quality: "high" with a tier other than ultra returns 400 VALIDATION_ERROR, and at 540p returns 400 MV_RESOLUTION_INVALID. resolution: "1440p" is available only on Omn V1; other engines return 400 MV_RESOLUTION_INVALID.

Both managed request profiles can use the Omn render tiers offered by native.selectableContractDetails and preflight. OneClick V1 accepts up to 600 seconds where available; premium-v2 accepts up to 300 seconds. Vidu OneClick V2 retains its 720p limit.

Quote with the same options you will create:

Terminal window
curl -X POST https://api.omnapi.com/api/v1/mv/quote \
-H "x-api-key: $OMNAPI_KEY" \
-H "Content-Type: application/json" \
-d '{"mode":"fast","engineVersion":"omn-v1","durationSec":60,"renderTier":"draft","schedule":"economy"}'

The Omn V1 quote accepts performanceMode, lipSync, quality, resolution, referenceImageCount, hasMotionReferenceVideo and the Visual Board quote fields. It applies the same option rules as preflight and returns 422 MV_ENGINE_UNSUPPORTED instead of a price for an unsupported request. Preflight is the authoritative check because it also validates your media and the capacity that will run the video.

GET /api/v1/pricing/catalog is public, cacheable and needs no API key. Its mvOmnV1 section is the Omn V1 price card, generated from the same configuration that prices Omn V1 Tasks. Read prices from it rather than copying the table above:

Terminal window
curl https://api.omnapi.com/api/v1/pricing/catalog
{
"updatedAt": "2026-10-15",
"mvOmnV1": {
"engineVersion": "omn-v1",
"pricingVersion": "omn-v1-public-2026-10-15-v7",
"pricingPolicy": "omn-render-tiers-v7",
"unit": "credits_per_output_second",
"customerDiscounts": false,
"renderTiers": [
{ "renderTier": "draft", "minimumOrderCredits": 0, "prices": [{ "resolution": "540p", "creditsPerSecond": 9 }] },
{
"renderTier": "standard",
"minimumOrderCredits": 0,
"prices": [
{ "resolution": "720p", "creditsPerSecond": 12 }
]
},
{ "renderTier": "hd", "minimumOrderCredits": 0, "prices": [{ "resolution": "1080p", "creditsPerSecond": 20 }] },
{
"renderTier": "ultra",
"minimumOrderCredits": 0,
"prices": [
{ "resolution": "720p", "creditsPerSecond": 28 },
{ "resolution": "1080p", "creditsPerSecond": 35 },
{ "resolution": "1440p", "creditsPerSecond": 48 }
]
}
],
"generation": { "minimumBilledSeconds": 5 },
"economySchedule": {
"videoMultiplier": 1,
"timeZone": "Asia/Shanghai",
"windowStart": "00:00",
"windowEnd": "08:00",
"lastShotStart": "07:40"
},
"sceneEdit": { "minimumBilledSeconds": 1, "economyDiscount": false },
"upgrade": { "minimumBilledSeconds": 5, "economyDiscount": false },
"composeCreditsPerOperation": 2
}
}
FieldMeaning
engineVersionAlways omn-v1
pricingVersion, pricingPolicyIdentify the card; a changed card has a new pricingVersion. Purchased Tasks keep the price they were created with
unitcredits_per_output_second: every price is in credits per second of delivered video
renderTiers[]Each generation.renderTier with its prices[]: the delivery resolution values the tier offers and their creditsPerSecond. A resolution that is not listed is not offered at that tier
renderTiers[].minimumOrderCreditsZero: no minimum credit charge for new full generations or upgrades
customerDiscountsfalse: Omn orders use public component prices for every customer
generation.minimumBilledSecondsMinimum billed length of a new MV, in seconds; output seconds are rounded up
economySchedulevideoMultiplier for the video item of a schedule: "economy" MV; the off-peak window from windowStart to windowEnd (HH:MM) in the IANA timeZone; and lastShotStart, the latest time a new shot starts in that window
sceneEditShot-edit pricing: minimumBilledSeconds, whether the economy multiplier applies (economyDiscount), and the rule as text in rule
upgradeRender-tier upgrade pricing, with the same fields; recomposition is included
composeCreditsPerOperationCredits for each recomposition with POST /api/v1/mv/{mvId}/finalize after edits
notesThe card’s billing rules as text

The card lists standard prices. Visual Board images, subtitles and other add-ons are priced separately. Omn orders do not apply account discounts. For a concrete request, use the amount from quote, preflight or upgrade preflight. A purchased Task itemizes its Omn V1 charge in pricing.components; see Omn V1 price items.

The video table is not necessarily the order total. A full generation includes its initial assembly; subsequent scene edits and recomposition are separate purchases. Use the complete preflight creditsRequired (also quote.credits) as the amount to review, then set maxCredits on create.

Input choiceEffect on the bill
Caller references with generation.referenceStrategy: "direct"Does not request generated Visual Board references
No caller references, or referenceStrategy: "synthesize"Can add Visual Board planning and image charges; preflight includes them
generation.visualBoard.preset: "off"Disables generated Visual Board references; the remaining request must still pass media and capability checks
subtitles: false with no automatic subtitle policyDoes not request subtitle extraction/alignment
subtitles: true, subtitle.mode: "auto", without usable timingAdds the quoted automatic subtitle component
A valid caller srtUrlSupplies timing; automatic timing extraction is unnecessary

Do not combine preset: "off" with a request to synthesize caller references. Do not assume disabling Visual Board disables every kind of automatic character preparation. Internal repairs of system-generated materials do not add customer charges. Subtitle request bodies.

For illustration, take 60 seconds of Draft 540p and suppose the chosen Visual Board add-ons quote 20 credits and automatic subtitles quote 10 credits. These two add-on amounts are example returned prices, not fixed rates for all image options or subtitle requests. Assume no other components or settlement rounding in these examples:

OrderVideoVisual BoardAutomatic subtitlesTotal deducted at creation
Caller references, subtitles off60 × 9 = 54000540
Generated references, subtitles off540200560
Generated references and automatic subtitles5402010570

HTTP 200 preflight excerpt for the third example:

{
"preflightId": "0199a000-0000-7000-8000-000000000002",
"expiresAt": "2026-10-15T02:10:00.000Z",
"quoteType": "validated_estimate",
"creditsRequired": 570,
"warningCodes": [],
"quote": {
"credits": 570,
"calculatedSubtotalCredits": 570,
"settlementRoundingCredits": 0,
"breakdown": { "duration": 60, "visualBoard": 20 }
}
}

breakdown is a summary, not an exhaustive component ledger. Its duration is seconds, not credits; it may omit the Omn video or subtitle line. Do not sum all its values to calculate the charge. Use quote.credits; when present, calculatedSubtotalCredits plus settlementRoundingCredits explains the total. After purchase, GET /api/v1/tasks/{taskId} provides pricing.components[] with each item’s key, label and credits in the purchased price snapshot.

For the 570-credit example:

  • All requested outputs delivered: final net charge 570.
  • Video delivered without the paid subtitles: refund 10, final net charge 560. The Task stays COMPLETED; the video and Visual Board remain payable.
  • Technical failure with a full refund: refund 570, final net charge 0, once settlement completes. Do not report the refund from Task failure alone.

Use settlement status and amounts to determine the actual outcome. If there was no paid subtitle component, a subtitle warning does not create a credit refund.

A later 4.2-second Draft shot edit costs ceil(4.2) × 9 = 45 credits. Recomposing after that edit costs 2, so that change adds 47 credits. Quote both operations against the saved MV. A compose quote is zero when the current final already matches the selected scene composition.

An upgrade buys the whole video at the target tier, with recomposition included. For a 60-second Draft → Standard purchase, the upgrade video price is 60 × 12 = 720; the two video purchases total 540 + 720 = 1260, plus any earlier add-ons or edits. It is not a 180-credit difference payment. Visible subtitles and motion-transfer purchases can prevent upgrading; check upgrade eligibility before choosing a first-pass workflow.

For a cash estimate, multiply the credit total by your actual paid price per credit. Recharge packages and checkout fees can change that conversion; see Credit value. The API’s budget and settlement fields are in credits, not dollars.

generation.schedule is standard (default) or economy. An economy MV renders its shots only during the daily off-peak window, 00:00–08:00 Beijing time (UTC+8), which is 16:00–24:00 UTC:

  • The video item costs the same as standard scheduling (multiplier 1), with no minimum credit charge. A 60-second Draft video costs 540 credits.
  • Where economy is offered, its delivery deadline is normally 48 hours after creation. Standard scheduling can have a 30-minute or 24-hour deadline, depending on the accepted request. Use the active operation’s returned deliveryDeadlineAt, not a hard-coded timeout. A shorter-deadline purchase may offer standard scheduling only. At the deadline, terminal handling and eligible refunds follow the Task timeout rules; verify settlement separately.
  • Shot edits and upgrades are not discounted and start immediately.

The price card publishes the multiplier, the window and the 07:40 last shot start in mvOmnV1.economySchedule.

New shots start only between 00:00 and 07:40 Beijing time, so that no shot runs into the peak period; a shot that has started finishes normally. Expect an MV created outside those hours to wait until the next window before its shots begin. Shots that have not started by 07:40 wait for the next window. capabilities.schedules lists economy when the deployment offers it. Economy also needs off-peak rendering for every shot type in the MV; otherwise the request returns 422 MV_ENGINE_UNSUPPORTED with reason: "not_eligible". Resend it with schedule: "standard".

Track an economy MV with GET /api/v1/mv/{mvId}. generation.scheduleWindow gives the off-peak window the waiting shots will use: the current window until 07:40, otherwise the next one. offPeakEndsAt is the 08:00 end of that window; the last shot starts 20 minutes earlier. The field becomes null once every shot has started:

{
"mvId": "mv_01J...",
"generation": {
"engineVersion": "omn-v1",
"renderTier": "draft",
"schedule": "economy",
"scheduleWindow": {
"nextOffPeakStartAt": "2026-10-01T16:00:00.000Z",
"offPeakEndsAt": "2026-10-02T00:00:00.000Z"
}
}
}

In GET /api/v1/mv/{mvId}/operations, each active item adds progress (0–100) and deliveryDeadlineAt; the economy generation also adds estimatedStartAt, when its shots are expected to start (now until 07:40, otherwise the next 00:00 Beijing time):

{
"items": [
{
"operation": "create",
"taskId": "task_01J...",
"taskStatus": "PROCESSING",
"progress": 10,
"deliveryDeadlineAt": "2026-10-03T09:00:00.000Z",
"estimatedStartAt": "2026-10-01T16:00:00.000Z"
}
]
}

estimatedStartAt and the schedule window are planning estimates, not promised delivery times. deliveryDeadlineAt is the operation’s hard deadline; follow the Task and settlement outcome if delivery does not finish by then.

For Standard 720p, standard scheduling, no lip-sync, three generated reference images and automatic subtitles, an illustrative complete quote is:

ItemCalculationCredits
Video25 × 12300
Visual Board plan1 × 1010
Reference images3 × 1030
Automatic subtitlesQuoted add-on for this request5
Total deducted on creation300 + 10 + 30 + 5345

If automatic subtitles cannot be delivered and the request allowed continue_without_subtitles, the video may complete with MV_AUTO_SUBTITLE_FALLBACK_SKIPPED. The paid subtitle item is refunded: 345 deducted − 5 returned = 340 net credits. Task reports creditsRequired: 345, creditsCharged: 340, refunded: true, refundedCredits: 5, refundType: "partial", refundReason: "subtitle_not_delivered", settlementStatus: "CHARGED". The operation ledger reports chargedCredits: 345, refundedCredits: 5, netCredits: 340. Task pricing.components still sums to the original 345.

These numbers illustrate one order; reference-image count and add-ons depend on the validated request. Use your preflight total and current price card for purchase approval. A 25-second output does not mean 25 seconds of processing.