Zum Inhalt springen
Python Tutorials & Projekte Fortgeschrittene · 1 Std. · Aktualisiert am 21. Juli 2026

Die ChatGPT API mit Python verwenden

ChatGPT API mit Python

ChatGPT im Browser oder als App zu verwenden, hat sich mittlerweile bei einer Vielzahl von Menschen etabliert. Aber selbstverständlich stellt OpenAI auch eine ChatGPT API zur Verfügung, die du ansteuern kannst, um zum Beispiel Texte erstellen oder dir Fragen beantworten zu lassen.

In diesem Tutorial lernst du, wie du

  • dir einen OpenAI Account und den benötigten API Key erstellst
  • mit einem kurzen Testscript prüfst, ob deine Verbindung steht
  • mit Python Prompts erstellst und die Antwort von ChatGPT erhältst
  • das passende Modell auswählst und zwischen den Modellen wechselst
  • ChatGPT präzise Anweisungen gibst, die du nicht in jedem Prompt wiederholen musst

Einen OpenAI Account erstellen

Um die ChatGPT API nutzen zu können, benötigst du einen Account bei OpenAI. Wenn du allerdings bereits den Chatbot nutzt, musst du natürlich kein Extra-Konto erstellen – der gleiche Login funktioniert auch für die API. Besuche diese Webseite, um einen Account zu erstellen oder dich einzuloggen.

Anschließend landest du im Dashboard der OpenAI Platform.

Einen API Key erstellen

Öffne nun den Bereich API keys – du findest ihn in der Seitenleiste des Dashboards. Dort wartet der Button Create new secret key auf dich. Nach einem Klick hierauf kannst du deinem neuen Key einen (am besten sprechenden) Namen geben. Die anderen Einstellungen kannst du für dieses Tutorial lassen wie sie sind.

Einen neuen API Key für OpenAI erstellen

Ein weiterer Klick auf Create secret key erstellt deinen neuen Key, den du dir direkt herauskopieren und ablegen solltest. Später kannst du den Key nicht mehr aufrufen – allerdings kannst du in diesem Fall einfach einen neuen erstellen.

Behandle den Key wie ein Passwort: Er gehört nicht in ein öffentliches GitHub-Repository und auch nicht in Code, den du weitergibst. Wer ihn hat, kann auf deine Rechnung Anfragen stellen.

Zahlungsdaten hinterlegen

Die ChatGPT API ist nicht kostenlos – deshalb musst du dein Konto mit einem Betrag deiner Wahl (mindestens jedoch 5 $) aufladen. Hierfür stehen dir verschiedene Zahlungsmethoden wie PayPal oder Kreditkarte zur Verfügung. Du findest die Einstellungen unter Settings → Billing.

Ein Tipp: Lege dir dort gleich ein Usage Limit fest. So kann dir ein Script mit einer Endlosschleife nicht versehentlich dein ganzes Guthaben aufbrauchen.

Bei OpenAI findest du die aktuellen Preise für die Nutzung der API. Sobald dein Konto mit ein paar Dollar aufgeladen ist, kann es direkt mit dem Python Script weitergehen.

Der Verbindungstest

Bevor du dich in dein eigentliches Projekt stürzt, lohnt sich ein kurzer Test: Steht die Verbindung, ist der Key gültig, und ist Guthaben vorhanden? Zuerst installierst du die Bibliothek openai. Führe hierfür im Terminal folgende Zeile aus:

pip3 install --upgrade openai

Auf dem Mac und den meisten Linux-Systemen heißt der Befehl pip3, weil dort noch ein altes Python 2 mitgeschleppt wird und pip schlicht nicht existiert. Unter Windows genügt dagegen meist pip. Falls beides eine Fehlermeldung ergibt, hilft diese Variante fast immer, weil sie pip direkt über deinen Python-Interpreter aufruft:

python3 -m pip install --upgrade openai

Fehlermeldung „externally-managed-environment“?

Auf dem Mac und unter Linux kann die Installation mit dieser Meldung abbrechen. Das ist kein Fehler, sondern Absicht: Dein Betriebssystem schützt sein eigenes Python davor, dass dort fremde Pakete landen. Die Lösung ist eine virtuelle Umgebung – ein abgeschotteter Ordner, in dem du installieren darfst, was du möchtest. Führe im Ordner deines Projekts nacheinander diese Zeilen aus:

python3 -m venv venv
source venv/bin/activate
pip install --upgrade openai

Anschließend steht ein (venv) vorne in deiner Terminalzeile – die Umgebung ist aktiv. Innerhalb dieser Umgebung funktionieren pip und python übrigens wieder ohne die 3. Wenn du später ein neues Terminal öffnest, aktivierst du sie mit der mittleren Zeile erneut.

Arbeitest du in VS Code, musst du dem Editor noch sagen, dass er dieselbe Umgebung verwenden soll – sonst findet dein Script die Bibliothek trotzdem nicht. Drücke Cmd+Shift+P (unter Windows Strg+Shift+P), wähle Python: Select Interpreter und dort den Eintrag mit ./venv/bin/python.

Ein letzter Tipp: Die Fehlermeldung schlägt dir selbst die Option –break-system-packages vor. Finger weg davon – der Name ist leider keine Übertreibung.

Das Testscript

Anschließend speicherst du dieses kurze Script – zum Beispiel als test.py – und trägst deinen API Key ein:

from openai import OpenAI

client = OpenAI(api_key="DEIN API KEY")

try:
    antwort = client.chat.completions.create(
        model="gpt-5.4-mini",
        messages=[
            {"role": "user", "content": "Antworte nur mit dem Wort: OK"}
        ]
    )
    print("Verbindung steht!")
    print("Antwort:", antwort.choices[0].message.content)
    print("Verbrauchte Tokens:", antwort.usage.total_tokens)

except Exception as fehler:
    print("Das hat leider nicht geklappt:")
    print(fehler)

Starten kannst du es dann im Terminal – auch hier gilt wieder python3 auf Mac und Linux, unter Windows meist nur python:

python3 test.py

Wenn alles passt, erscheint in deinem Terminal ein Verbindung steht! samt der Antwort und der Anzahl der verbrauchten Tokens. Falls nicht, verrät dir die Fehlermeldung meistens schon, woran es liegt:

  • AuthenticationError – der Key stimmt nicht oder wurde inzwischen gelöscht
  • RateLimitError mit dem Hinweis auf „quota“ – dein Guthaben ist aufgebraucht oder wurde noch nie aufgeladen
  • NotFoundError – das Modell heißt anders oder steht deinem Account nicht zur Verfügung

Stelle eine Frage mit Python

Wie du bestimmt schon weißt, funktioniert ChatGPT wie eine Art Chatbot – du stellst eine Frage oder gibst eine Anweisung und erhältst darauf eine Antwort. Diese Frage wird auch Prompt genannt. Das folgende Python Script stellt die Verbindung zur ChatGPT API her, übermittelt deinen Prompt und gibt die Antwort aus.

from openai import OpenAI

client = OpenAI(
  api_key="DEIN API KEY",
)

completion = client.chat.completions.create(
  model="gpt-5.4-mini",
  messages=[
    {"role": "user", "content": "Wie lautet die Antwort auf alle Fragen?"}
  ]
)

print(completion.choices[0].message.content)

In der ersten Zeile bindest du die Bibliothek openai ein, die du im Schritt zuvor bereits installiert hast. Danach hinterlegst du in der Variablen api_key deinen API Key.

Ein Hinweis dazu: Für erste Experimente ist der Key direkt im Script am einfachsten nachzuvollziehen – und genau darum steht er hier so. Sobald du dein Script aber weitergibst oder auf GitHub hochlädst, solltest du ihn stattdessen in einer Umgebungsvariablen namens OPENAI_API_KEY ablegen. Die Bibliothek findet ihn dann von selbst, und du kannst die Zeile mit dem Key ersatzlos streichen:

client = OpenAI()

Zurück zum Script: Anschließend folgt die Abfrage mit der Funktion client.chat.completions.create(). Hier legst du zunächst das Modell fest, im obigen Beispiel ist das gpt-5.4-mini.

Welches Modell soll es sein?

OpenAI bietet mehrere Modelle an, die sich vor allem in Qualität, Geschwindigkeit und Preis unterscheiden. Für die meisten Bastelprojekte reicht ein kleines Modell völlig aus. Die Preise stehen jeweils für 1 Million Tokens bei der Ein- und Ausgabe (Stand Juli 2026):

  • gpt-5.4-nano – das günstigste und schnellste Modell (0,20 $ / 1,25 $), ideal für einfache Aufgaben wie kurze Texte oder das Sortieren von Daten
  • gpt-5.4-mini – ein guter Kompromiss aus Qualität und Preis (0,75 $ / 4,50 $) und die Empfehlung für den Einstieg
  • gpt-5.6-luna – schon aus der aktuellen Spitzenklasse, aber auf Kosten optimiert (1,00 $ / 6,00 $). Lohnt sich, wenn die Antworten wirklich gut sein müssen

Darüber gibt es noch gpt-5.6-terra (2,50 $ / 15,00 $) und als stärkstes Modell gpt-5.6-sol. Beide zielen aber eher auf anspruchsvolle berufliche Aufgaben – für ein Maker-Projekt gibst du dafür in der Regel unnötig viel Geld aus.

Um das Modell zu wechseln, ersetzt du einfach die entsprechende Zeile im Python Script, zum Beispiel durch:

model="gpt-5.6-luna",

OpenAI veröffentlicht regelmäßig neue Modelle und schaltet alte ab – welche aktuell zur Verfügung stehen, siehst du jederzeit in der Modellübersicht. Sollte dein Script also irgendwann mit einem NotFoundError abbrechen, wirf dort einen Blick hinein und trage den neuen Modellnamen ein.

Die Preise werden übrigens pro 1 Million Tokens angegeben, wobei Ein- und Ausgabe getrennt abgerechnet werden – die Ausgabe ist dabei immer deutlich teurer. Ein Token ist etwa ein Wortteil; laut OpenAI entsprechen 1.000 Tokens ungefähr 750 englischen Wörtern. Für deutsche Texte kannst du grob mit etwas mehr Tokens pro Wort rechnen. Wie viele Tokens eine Anfrage tatsächlich gekostet hat, verrät dir completion.usage, so wie im Testscript oben.

Keine Sorge übrigens vor zu langen Texten: Die Modelle der 5.4er-Reihe verarbeiten bis zu 400.000 Tokens auf einmal, die 5.6er sogar über eine Million. Da müsstest du schon einen ganzen Roman in deinen Prompt packen.

Der Prompt

Kommen wir zur Frage, die du stellst und dafür an die ChatGPT API sendest. Diese findest du im Script hier:

messages=[
    {"role": "user", "content": "Wie lautet die Antwort auf alle Fragen?"}]
)

Hier definierst du zunächst die Rolle (role), hier also user. Diese Rolle hat die Person, die eine Frage stellt – also genauso wie du es vielleicht vom Browser oder der App gewohnt bist. Dahinter folgt der content, also die eigentliche Frage oder Anweisung.

Nun muss nur noch die Antwort ausgegeben werden:

print(completion.choices[0].message.content)

In deinem Terminal oder Konsole sollte nun die Antwort erscheinen, die du sicherlich auch schon vorher wusstest. 😉

Weitere Rollen für die ChatGPT API

Oben hast du die Rolle user verwendet. Du kannst ChatGPT aber auch vor deiner eigentlichen Frage genauere Anweisungen mitgeben und damit versuchen, das System etwas zu „lenken“. Hierfür fügst du vorab etwas mit der Rolle system ein:

messages=[
    {"role": "system", "content": "Du beantwortest Fragen kurz und präzise."},
    {"role": "user", "content": "Wie lautet die Antwort auf alle Fragen?"}]
)

Das ist besonders nützlich, wenn ChatGPT zum Beispiel Antworten in einem bestimmten Format geben soll. Du musst diese Anweisungen also nicht in deinem eigentlichen Prompt unterbringen, sondern kannst sie separat erstellen und verwenden.

Ausblick: die Responses API

Ein Hinweis für alle, die tiefer einsteigen möchten: Neben den Chat Completions, die du in diesem Tutorial verwendet hast, bietet OpenAI mittlerweile auch die neuere Responses API an. Sie funktioniert nach dem gleichen Prinzip, bringt aber zusätzliche Möglichkeiten mit – etwa eingebaute Werkzeuge oder das Fortführen eines Gesprächs über mehrere Anfragen hinweg.

Für den Einstieg und für die meisten Maker-Projekte reicht das Script aus diesem Tutorial aber völlig aus. Falls du neugierig bist, findest du hier die Dokumentation dazu.

Und das war es schon. Du hast nun das grundlegende Python Script, um per API mit ChatGPT zu kommunizieren. Wirf einen Blick in die Raspberry Pi Projekte, um Anwendungsmöglichkeiten zu entdecken. Wenn du dich besonders für den Bereich künstlicher Intelligenz interessierst, wirf doch mal einen Blick in unsere KI-Projekte.