OpenAI-Kosten automatisch berechnen – mit einer einzigen PHP-Funktion
Wer mit der OpenAI-API arbeitet, steht früher oder später vor der gleichen Frage:
Was kostet mich ein Request eigentlich genau?
Die offiziellen Preislisten von OpenAI sind zwar öffentlich zugänglich, aber kaum jemand schaut jedes Mal nach, wenn er ein paar hundert Tokens durch ein Modell jagt. Deshalb habe ich mir eine kleine Funktion geschrieben, die die aktuellen Preise automatisch von GitHub lädt und die Kosten in Dollar-Cent berechnet.
Die Quelle: OpenAI-Preisdaten auf GitHub
Die Preise werden von der Community gepflegt und stehen frei zugänglich unter:
👉 https://github.com/outl1ne/openai-pricing
Dort liegt eine aktuelle Datei im JSON-Format:
https://raw.githubusercontent.com/outl1ne/openai-pricing/refs/heads/main/pricing.json
Diese Datei enthält für alle Modelle die offiziellen Tokenpreise in USD pro eine Million Tokens – sowohl für Input als auch Output.
Die Lösung: Eine einfache PHP-Funktion
Mehr braucht es nicht.
Keine Klassen, keine Bibliotheken, keine Abhängigkeiten.
<?php
declare(strict_types=1);
function calc_openai_cost(string $model, int $input_tokens, int $output_tokens): float
{
$url = 'https://raw.githubusercontent.com/outl1ne/openai-pricing/refs/heads/main/pricing.json';
$json = file_get_contents($url);
if ($json === false) {
die("Fehler: Preisdaten konnten nicht geladen werden.\n");
}
$data = json_decode($json, true);
if (!is_array($data) || !isset($data['models'][$model])) {
die("Fehler: Modell '$model' nicht gefunden.\n");
}
$entry = $data['models'][$model];
if (!isset($entry['input']) || !isset($entry['output'])) {
die("Fehler: Ungültige Daten für Modell '$model'.\n");
}
// Preise in USD pro 1 Million Tokens
$input_price = (float)$entry['input'];
$output_price = (float)$entry['output'];
$cost_usd =
($input_tokens / 1_000_000) * $input_price +
($output_tokens / 1_000_000) * $output_price;
return round($cost_usd * 100, 6); // Dollarcent
}
// Beispiel:
$model = 'gpt-4o';
$input = 1200;
$output = 800;
echo "Kosten ($model): " . calc_openai_cost($model, $input, $output) . " Dollarcent\n";
Beispielrechnung
Das Modell gpt-4o kostet laut GitHub-Daten:
- Input: 2,5 $ pro Million Tokens
- Output: 10 $ pro Million Tokens
Wenn du also 1 200 Input-Tokens und 800 Output-Tokens nutzt, ergibt das:
(1200 / 1 000 000 * 2.5) + (800 / 1 000 000 * 10) = 0.012 USD
→ 1,2 Cent pro Prompt
Selbst bei hohen Tokenmengen bleibt also alles überschaubar – bis man anfängt, wirklich große Batch-Verarbeitungen zu fahren.
Wozu das Ganze?
Mit dieser Mini-Funktion kannst du:
- deine API-Kosten direkt im Code berechnen,
- Kostenschätzungen für deine Nutzer oder Reports einbauen,
- oder ganz einfach vergleichen, welches Modell am effizientesten ist.
Die Funktion kann leicht erweitert werden, um auch Daten aus den Abschnittenflex-processing, priority-processing oder fine-tuning zu berücksichtigen – die Struktur ist identisch.
0 Kommentare