Qwen3.8-Omni-Flash vs Gemini Flash Real Cost per Task
Qwen3.8-Omni-Flash vs Gemini Flash, normalized to dollars per multimodal task across audio and video billing units, tool loops, and self-host math.

In this article
- 1.What the Headline Numbers Leave Out
- 2.How Each API Bills Audio and Video
- 3.Audio is billed by the second, priced by the token
- 4.Video is billed by the frame, priced by the resolution
- 5.Why Tool Loops Re-bill Your Multimodal Context
- 6.Five Workloads Priced End to End
- 7.The Self-Host Option in Dollars
- 8.Qwen3.8-Omni-Flash vs Gemini Flash by Workload
- 9.A Reusable Per-Task Cost Model
The pitch arrived as two numbers: Qwen3.8-Omni-Flash nearly matches Gemini 3.8 Flash on audio-video benchmarks, and it does so at a fraction of the per-token API price, per the launch coverage. Both numbers are probably true. Neither answers the question you actually have, which is what one finished task costs. Per-token list prices for multimodal APIs are quoted in different currencies: audio is billed as seconds converted to tokens at a vendor-chosen rate, video is billed as frames converted to tokens at a resolution-dependent count, and agent tool loops re-send the entire media payload on every turn. Normalize those three things and the cheaper vendor flips by workload, while the open-weight option only wins inside a narrow band of sustained GPU utilization. That normalization is the whole article.
Stay in the loop.
Get the latest posts and exclusive content delivered to your inbox.
Join 9 readers. No spam. Unsubscribe in one click, anytime.
What the Headline Numbers Leave Out
A per-token comparison only works if the same input produces the same billed token count. For multimodal input, it doesn't. Identical audio and video are metered as materially different token totals under the two vendors, because each vendor picks its own audio tokens-per-second conversion and its own per-frame video tokenization. A model that looks 2x cheaper per token can bill 4x more tokens for the same clip, and the sticker advantage evaporates before you reach the checkout.
Benchmark parity makes this trap worse, not better. Two models tying on audio-video evaluations invite you to treat them as interchangeable and default to the cheaper one. But parity on outputs says nothing about parity on billing: models that tie on multimodal evaluations can still bill materially different totals for the exact same task input. The benchmark table and the price table are both fine. They just can't be laid side by side, which is what every headline quietly does.
So three loops open here, and the article closes all three: modality billing units, loop re-ingestion of multimodal context, and self-host economics.
How Each API Bills Audio and Video

Multimodal API pricing looks like one table but behaves like three separate meters. Read them separately.
Audio is billed by the second, priced by the token
Google documents a fixed conversion from audio seconds to input tokens, 32 tokens per second as of this writing, in the Gemini pricing documentation. It also prices audio input tokens above text tokens, which stacks a second multiplier on the first. The Qwen omni line runs audio through its own encoder, whose tokenization scheme the Qwen3-Omni technical report describes, with its own tokens-per-second rate. And OpenAI meters audio in dedicated audio-token units with separate per-minute economics in OpenAI's audio pricing, a useful reminder that audio token billing is a whole genre, not a Google quirk.
The number that matters is the product, not the price:
Effective audio cost per second = (tokens per second) × (price per million tokens) ÷ 1,000,000
Change either factor and the "fraction of the cost" claim moves. A vendor can undercut on price per token and still lose, or win by more than the sticker suggests, purely through the conversion rate.
Video is billed by the frame, priced by the resolution
Gemini samples video at roughly one frame per second by default, and the tokens billed per frame depend on the media-resolution setting: on the order of 66 tokens per frame at low resolution versus roughly 258 at high, per current docs. The Qwen visual tokenizer works differently, using dynamic-resolution encoding that typically produces a few hundred tokens per frame at standard resolutions.
Run the same 30-minute clip through Gemini at both settings: 1,800 frames become about 119,000 billed tokens at low resolution or about 464,000 at high. That is a 4x swing on the identical input, before any price is multiplied in, and the vendors default differently. Video-heavy workloads need per-frame, per-resolution math before any headline comparison holds.
One calibration note: pricing pages drift, and the figures above are the documented values at the time of writing. Verify against the live pages before you commit budget. Every number in the worked examples below is labeled illustrative for exactly that reason.
Why Tool Loops Re-bill Your Multimodal Context
Agents break the single-shot pricing model. A six-turn tool agent working over a video or a stack of screenshots re-sends its full context on every turn, and if nothing is cached, the audio and video tokens are re-billed on every turn. Your modality bill becomes a near-linear multiple of your turn count: a six-turn agent over a 30-minute video pays for that video up to six times. The agent tool loop token cost for multimodal context is where audio and video workloads stop behaving like chat workloads.
Context caching is the counterweight, where it is offered and where you actually hit it. Gemini's context caching documentation bills cached input tokens at a steep discount to fresh input, 75% off in current published rates. Two caveats keep it honest: cached prefixes must match exactly, so a loop that mutates its multimodal context every turn may never hit the cache, and cached tokens accrue hourly storage fees while they sit. Whether Alibaba's omni endpoint discounts cached audio and video tokens is precisely the fine print to check before assuming the sticker gap carries over to long loops. This is the LLM context caching discount doing real decision work, not garnish.
Five Workloads Priced End to End
Here is the price per multimodal agent task comparison, in dollars per completed task. The assumption set first, so you can audit or replace every input:
| Line item | Gemini Flash (illustrative) | Qwen3.8-Omni-Flash (illustrative) |
|---|---|---|
| Text/video input per M tokens | $0.30 | $0.15 |
| Audio input per M tokens | $1.00 | $0.15 |
| Output per M tokens | $2.50 | $0.60 |
| Audio tokens per second | 32 | 25 |
| Video tokens per frame | 66 low / 258 high | ~300 |
| Cached input discount | 75% off | unknown, modeled as none |
The Gemini column reflects published rates at the time of writing. The Qwen column is deliberately generic, since Alibaba's listed rates are the piece most likely to have moved by the time you read this. Swap in live numbers and rerun; the structure is the deliverable.
One worked example in full, the 10-minute audio digest:
- Gemini: 600 seconds × 32 tokens = 19,200 audio tokens × $1.00/M = $0.019, plus ~1,500 text tokens and ~600 output tokens ≈ $0.021 per task
- Qwen: 600 × 25 = 15,000 tokens × $0.15/M ≈ $0.003 per task
Same audio, a 7x gap, driven mostly by the audio token premium rather than the base sticker. Now the full set:
| Workload | Gemini Flash | Qwen3.8-Omni-Flash | Winner |
|---|---|---|---|
| 10-min audio digest, single pass | $0.021 | $0.003 | Qwen, ~7x |
| 1-min video QA, single pass | $0.001 low / $0.005 high | $0.003 | Gemini at low res; Qwen if you need high |
| 6-turn screenshot tool agent, 10k-token prefix | $0.018 uncached / $0.007 cached | $0.009 uncached | Gemini if the cache hits |
| 10-min live voice session with function calls | ~$0.019 | ~$0.002 | Qwen, if flat-rate token billing holds |
| 30-min video analysis | $0.036 low / $0.139 high | $0.081 | Gemini at low res; Qwen for high-res detail |
The tool-agent row deserves a second look, because it is the flip. Uncached, Gemini's 2x sticker disadvantage loses. With the cache hitting, its effective input rate drops to $0.075/M on cached turns, and the cached total ($0.007) undercuts Qwen's uncached $0.009 despite Gemini's higher list price. The caching discount, not the sticker, decides this workload. For the voice session, the Live API docs bill both directions of audio plus function-call traffic, which is why Gemini Flash vs Qwen Omni cost for voice agents favors whoever bills speech-in and speech-out at the flattest effective rate; the Qwen figure here assumes its omni endpoint bills every modality token at one flat rate, which is the assumption to verify first.
The Self-Host Option in Dollars

The open weights change the math, not the obligation. The Qwen3-Omni repository ships the model under a permissive license with serving code, so Qwen Omni self-hosting is a real arm of this comparison, not a footnote.
The cost side, at illustrative 2025-ish rates: an H100 runs on the order of $2 per GPU-hour per the H100 hourly price index, and an eight-GPU node lands near $16 per hour. Then the formula that actually decides it:
Self-host cost per M tokens = hourly node cost ÷ (3,600 × sustained tokens per second)
If a well-batched serving stack sustains ~60,000 tokens per second on that node at full utilization, the floor is about $0.074 per million tokens. But that is a 100%-utilization floor, and almost nobody runs at 100%. At 25% sustained utilization the same node delivers $0.30 per million, double the illustrative API list price. Break-even against a $0.15 list price sits near 50% sustained utilization, and every API price cut pushes that bar higher. Break-even is set by GPU-hour price and achieved throughput, not by the list price you were comparing.
This is why utilization patterns, not volumes, pick the winner. Spiky live-voice traffic with idle afternoons is the worst case for self-hosting: you pay for the node during silence. A batch video-digest pipeline that keeps the queue full overnight is the best case. Add engineering time for serving, queueing, and redundancy on top, and the honest summary is that self-hosting typically costs more per task at low utilization and undercuts API list price only at sustained high utilization.
Qwen3.8-Omni-Flash vs Gemini Flash by Workload
Verdict table, including the self-host arm:
| Workload | Pick | Why | Trade-off you accept |
|---|---|---|---|
| Audio digest, batch transcription | Qwen API | Flat-rate token billing, no audio premium modeled | Verify Alibaba's audio token rate first |
| Video QA where low resolution suffices | Gemini API | 66 tokens/frame default wins on unit count | Detail loss at low media resolution |
| High-detail video analysis | Qwen API | Fewer billed dollars at high token counts | Larger per-frame token counts at other settings |
| Long multimodal tool loops | Gemini API with caching | 75% cached-input discount beats the sticker gap | Exact-prefix cache hits, hourly storage fees |
| Live voice agents | Qwen API (or self-host at scale) | Cheapest effective per-session bill | Endpoint fine print on speech-out billing |
| Sustained batch pipelines | Self-host | ~$0.074/M floor beats list above ~50% utilization | Ops burden, cold starts, no provider SLA |
The defensible decision rule falls out of the table: decide on normalized dollars per completed task per workload. Applied honestly, that rule flips the winner by workload, and the list-price undercut never gets to decide anything on its own.
A Reusable Per-Task Cost Model
Rerun this audit on any future multimodal pair, the next time a vendor announces a "fraction of the cost" headline:
- Write down billing units per modality. Text tokens, audio seconds with the vendor's tokens-per-second conversion, video frames with the tokens-per-frame count at each resolution setting, image tiling. From the pricing pages, never from the announcement.
- Convert every input into billed tokens. Seconds × rate, frames × per-frame tokens at your actual resolution. This is where identical inputs diverge.
- Apply the loop multiplier. Turns × prefix size for uncached loops, plus whatever your context grows per turn. Video and audio tokens ride along every time.
- Adjust for caching, only where it hits. Discount the cached share, add storage fees, and model the miss rate honestly. A cache you never hit is a 0% discount with storage costs attached.
- Price the self-host arm by utilization, not by sticker. Node dollars per hour divided by sustained tokens per second, adjusted for your real duty cycle, plus ops overhead.
Close of the three loops: modality units decide audio and video-heavy picks, loop caching decides tool-agent picks, and duty cycle decides self-hosting. Bookmark both pricing pages and rerun the worksheet quarterly, because every number here decays, and the vendor that undercuts on tokens today can flip the effective rate with one quiet conversion-rate change.
Stay in the loop.
Get the latest posts and exclusive content delivered to your inbox.
Join 9 readers. No spam. Unsubscribe in one click, anytime.
About the author
David Moreno
Applied AI Strategist
David helps teams put AI to work in real businesses. He writes teardowns of how companies actually deploy models: the architectures, the trade-offs, and the results that survive contact with the real world.
Related Posts
GPT-6 Astra Pricing at $6 an Hour, Audited
GPT-6 Astra pricing pitches an AI engineer under $6 an hour. We audit the real per-task costs, hidden token overhead, and what saturated benchmarks skip.
Gemini 3.8 Live Extended Thinking Needs a Latency Budget
Gemini 3.8 Live extended thinking adds reasoning time to a realtime voice agent. The latency-budget math tells you when it helps and when it is dead air.
TontaubeV1 Review With Serving Math You Can Run
This TontaubeV1 review audits the 2.9B character-level TTS model with serving math builders can verify, covering VRAM, latency, and long-form narration.


