GPT, Claude, and Gemini API price comparison

Compare model multipliers, input and output costs, and real usage on a consistent basis.

The problem

Compare input, output, context, image, and video units together instead of one request price.

Shortest working configuration

.envbash
provider: GPT / Claude / Gemini
model: copy from the current catalog
input_tokens: fixed test size
output_tokens: fixed max_tokens

Keep API keys in server-side environment variables or a secret manager. Never commit them or expose them in frontend code.

Complete examples

request.shbash
curl https://api.gpt88.cc/v1/chat/completions \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"gpt-5.6-sol","messages":[{"role":"user","content":"返回 OK"}],"max_tokens":32}'
request.pypython
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["OPENAI_API_KEY"],
    base_url=os.getenv("OPENAI_BASE_URL", "https://api.gpt88.cc/v1"),
)
response = client.chat.completions.create(
    model=os.getenv("OPENAI_MODEL", "gpt-5.6-sol"),
    messages=[{"role": "user", "content": "返回 OK"}],
    max_tokens=32,
)
print(response.choices[0].message.content)
request.mjsjavascript
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.OPENAI_API_KEY,
  baseURL: process.env.OPENAI_BASE_URL ?? "https://api.gpt88.cc/v1",
});
const response = await client.chat.completions.create({
  model: process.env.OPENAI_MODEL ?? "gpt-5.6-sol",
  messages: [{ role: "user", content: "返回 OK" }],
  max_tokens: 32,
});
console.log(response.choices[0].message.content);

Common errors

  • Do not treat vendor list prices as GPT88 charges.
  • Include output tokens.
  • Compare image and video with their own units.
  • Record repeated p50/p90 usage.

Pricing and billing

Use same-date official model prices and the GPT88 console for any current comparison.

Create an API key