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_tokensKeep 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.