Credits and estimates
You buy prepaid credits (1 credit = 1 US cent, USD) and jobs consume them. Rates are per model, not one blended list price: a smaller model that serves faster on cheaper hardware costs you less.
Estimates are free, and the credit amount shown at approval is a hard cap: an approved job never consumes more. Unused credits stay on your balance. Your job gets its own estimate based on current prices; the tables below are just representative examples.
Text output models
| model | input modality | input / 1M tokens | cached input / 1M | output / 1M tokens | price per image |
|---|---|---|---|---|---|
| qwen3.8-27b | text + image + video | $0.18 | $0.045 | $0.90 | $0.0001 |
| glm-5.2 | text | $0.70 | $0.175 | $2.20 | - |
| qwen3.6-27b | text + image | $0.20 | $0.05 | $1.00 | $0.002 |
| gemma4-31b | text + image | $0.20 | $0.05 | $1.00 | $0.0003 |
| qwen3-14b | text | $0.025 | $0.006 | $0.125 | - |
| qwen3-omni-30b | text | $0.12 | $0.03 | $0.60 | - |
| qwen3-omni-30b | image + audio + video | $0.20 | $0.05 | $1.00 | $0.0003 |
Cached input is any part of a prompt the server has already processed in the same job - typically a shared instruction prefix repeated across rows. It bills at a quarter of the input rate, automatically: batch jobs with a common prompt prefix routinely see more than half their input tokens at the cached rate, which is why output tokens now carry more of the price than input tokens. There is nothing to configure and no way to lose money by it: a cache miss simply bills at the normal input rate.
The price per image is a ceiling on everything an image adds to your bill. Inside the model an image becomes input tokens through the encoder, and those tokens bill at the normal input rate, plus a small flat per-image charge for the fetch and encode work. The listed price per image is deliberately rounded up above the sum of both parts, so a run can come in under it but never over. The models differ here because their encoders differ: gemma4-31b encodes every image to a fixed 280 tokens where qwen3.6-27b tiles a large image into many more, and qwen3.8-27b's newer encoder carries the smallest measured per-image overhead of the three.
Audio and video ride the token rates: a clip becomes input tokens through the model's encoder - on qwen3-omni-30b roughly 800 tokens per minute of audio, on qwen3.8-27b at most 100 tokens per sampled video frame at one frame per second - plus a small per-minute surcharge for the fetch and decode work (qwen3-omni-30b: 0.006¢ per audio minute, 0.032¢ per video minute; qwen3.8-27b: 0.03¢ per video minute). All-in, an hour of audio through qwen3-omni-30b costs about three cents, transcript included, and a minute of video through qwen3.8-27b about a sixth of a cent, answer included. A job that carries any media is priced on its model's media rates; a model whose text and media token rates match (qwen3.8-27b) shows one row above.
Embedding output models
| model | embeds | text rows / 1M input tokens | image rows / 1M | video rows / 1M |
|---|---|---|---|---|
| qwen3-vl-embedding-8b | text + image + video | $0.02 | $0.03 | $0.10 |
| qwen3-vl-embedding-2b | text + image + video | $0.005 | $0.01 | $0.05 |
| qwen3-embedding-8b | text | $0.02 | - | - |
Realtime embedding requests (see realtime embeddings) bill at the listed text input rate above plus 10 percent, from the same credit balance as batch jobs. Available in realtime today: qwen3-embedding-8b and qwen3-vl-embedding-2b (text queries only - image and video embedding stays on the batch API).
Embedding jobs bill input tokens only - no output-token or
cached-token charges. A row is priced by what it carries: text-only
rows at the text rate, rows with images at the image rate, and rows
with video (alone or alongside images) at the video rate. The two
qwen3-vl-embedding models put text, images, and video (up to 4
images or 1 video per row) in one vector space, and every embedding
model truncates to a narrower vector via the per-request
dimensions parameter. See
embedding jobs for the job shape.
Minimum job price
Every job also has a minimum price: qwen3.8-27b $0.12, qwen3.6-27b $0.12, gemma4-31b $0.29, qwen3-14b $0.07, qwen3-omni-30b $0.41, and $0.02 for each embedding model - the at-cost price of starting the dedicated GPU machine a job runs on. It is a floor, not a fee: a job whose token price clears it pays nothing extra.
The flip side is that batch pricing rewards volume: once a job's token price clears the minimum, the machine start is not billed anymore, so the overhead share of what you pay falls toward zero as the job grows. Batching more rows into one larger job is the cheapest way to run them.
What jobs actually cost
| example job | model | assumed per row | estimate |
|---|---|---|---|
| Classify 1M support tickets | qwen3-14b | ≈300 tokens in, 10 out | ≈ $9 |
| Caption 100,000 photos | gemma4-31b | 1 image, ≈200 tokens in, 60 out | ≈ $40 |
| Transcribe 1,000 hours of audio | qwen3-omni-30b | audio at ≈13 tokens/s, ≈12k transcript tokens out per hour | ≈ $25 |
| Describe 10,000 one-minute videos | qwen3-omni-30b | video at ≈72 tokens/s, ≈500 tokens out | ≈ $17 |
Rows sharing a prompt prefix bill its repeat occurrences at the cached input rate, so cache-heavy jobs come in noticeably under these figures.