Inference APIs
Compare/Chat

GPT-OSS 120B vs Gemini 2.5 Flash

GPT-OSS 120B is an open-weight chat model you can call on this endpoint; Gemini 2.5 Flash is a closed model from Google. Below: what each costs for three realistic workloads, the limits that apply, and when to choose which.

Google figures are public list prices and documented limits, checked 2026-09-16 against the provider page. Inference APIs prices are read live from the price list.

Short answer
  • Cost: GPT-OSS 120B is cheaper in all three workloads, by 45–67%.
  • Limits: Google: Free tier has per-model daily request quotas and returns 429 RESOURCE_EXHAUSTED when they are used; paid tier is self-serve. Here: no per-minute or per-day caps.

Side by side

GPT-OSS 120BGemini 2.5 Flash
Served byInference APIsGoogle
Model authorOpenAIGoogle
Model idopenai/gpt-oss-120bgemini-2.5-flash
Input price$0.20 / 1M tokens$0.30 / 1M tokens
Output price$0.80 / 1M tokens$2.50 / 1M tokens
Context window131K tokens1M tokens
CapabilitiesChat, Reasoning, Tool calling, JSON modeChat, Reasoning, Vision, Tool calling, JSON mode
WeightsOpenClosed
StatusAvailableAvailable
LimitsNo per-minute or per-day request or token caps; usage draws on a prepaid balanceFree tier has per-model daily request quotas and returns 429 RESOURCE_EXHAUSTED when they are used; paid tier is self-serve.
Time to first token0.46 snot measured by us
Output speed45.8 tokens / snot measured by us

What three workloads cost

List prices applied to the same work. The cheaper side of each row is in bold.

WorkloadGPT-OSS 120BGemini 2.5 FlashDifference
Chat assistant — 10,000 turns of 800 tokens in, 300 out$4.00$9.9060%
Long prompts or RAG — 10,000 requests of 8,000 in, 500 out$20.00$36.5045%
Generation-heavy — 10,000 requests of 500 in, 2,000 out$17.00$51.5067%

GPT-OSS 120B is cheaper in all three workloads, by 45–67%. Reasoning models bill their thinking as output tokens, so real output counts run higher than the visible answer; treat the generation-heavy row as a floor for them.

When to choose which

Choose GPT-OSS 120B if
  • Cost is the deciding factor; it is cheaper in every workload above
  • You want open weights: the same model can be moved to another host or self-hosted later
  • You are replacing llama-3.3-70b-versatile and want the model Groq itself recommends
  • You build agents: tool calling, JSON-schema output and a visible reasoning trace are all verified on this endpoint
  • Your workload is output-heavy; output tokens are the expensive side of its price
Choose Gemini 2.5 Flash if
  • You need more than 131K tokens of context (it takes 1M)
  • You need to send images; GPT-OSS 120B is text-only
  • You need multimodal input (images, audio, video)
  • A free tier for development matters to you

Price, context and speed are measurable; answer quality on your task is not something a table can settle. Both take the same request, so the honest test is to run your own prompts through each.

Measured speed

Medians of three streamed runs on 2026-09-17, public endpoint, a prompt that asks for about 120 words. Time to first token is the first token of any kind, reasoning included; output speed counts every generated token from that point. Reasoning models then think before the visible answer starts: GPT-OSS 120B began answering after 1.38 s at default settings, which you can shorten with the reasoning controls on each model page. Expect ±30% with time of day. We did not measure Google and do not quote other people's numbers; read "not measured" as unknown, not slow. Method and raw numbers: speed measurements.

Switching from Google

Both speak the OpenAI wire format. The edit is the base URL, the key and the model id; then re-run your own prompts, because it is a different model.

Python · openai SDK
import os
from openai import OpenAI

# before: Google
# client = OpenAI(base_url="https://generativelanguage.googleapis.com/v1beta/openai/", api_key=os.environ["GOOGLE_API_KEY"])
# MODEL = "gemini-2.5-flash"

# after: Inference APIs
client = OpenAI(base_url="https://api.inferenceapis.com/v1", api_key=os.environ["INFERENCE_API_KEY"])
MODEL = "openai/gpt-oss-120b"

resp = client.chat.completions.create(model=MODEL, messages=[{"role": "user", "content": "Hello"}], max_tokens=500)

More detail, including Node, LangChain and LiteLLM: switching OpenAI-compatible providers.

FAQ

Which is cheaper, GPT-OSS 120B or Gemini 2.5 Flash?

GPT-OSS 120B is cheaper in all three workloads, by 45–67%. The table above uses list prices: GPT-OSS 120B $0.20 / 1M tokens input, $0.80 / 1M tokens output; Gemini 2.5 Flash $0.30 / 1M tokens input, $2.50 / 1M tokens output.

Can I switch from Gemini 2.5 Flash to GPT-OSS 120B without rewriting code?

Yes, if you call it through an OpenAI-compatible client. Change the base URL to https://api.inferenceapis.com/v1, swap the API key, and set the model to openai/gpt-oss-120b. Because it is a different model, re-run your prompts and evaluations before moving production traffic.

What limits apply to Gemini 2.5 Flash?

Free tier has per-model daily request quotas and returns 429 RESOURCE_EXHAUSTED when they are used; paid tier is self-serve. On Inference APIs there are no per-minute or per-day request or token caps; usage draws on a prepaid balance.

Why does GPT-OSS 120B use more output tokens than the visible answer?

It is a reasoning model: it thinks before it answers and the thinking is billed as output tokens. Budget for that in output-heavy workloads, and set max_tokens to a few hundred or more so the answer is not cut off.

Spotted a price or limit that has changed? Tell us and we will re-check the provider page.