Blender mit OpenAI Codex verbinden: Das ultimative Tutorial

Melden

In diesem Tutorial lernst du, wie du die künstliche Intelligenz von OpenAI (Codex / GPT-Modelle) direkt mit Blender verbindest. Dadurch kannst du 3D-Szenen, Animationen und Objekte erstellen, indem du einfach Textbefehle (Prompts) eingibst, die die KI automatisch in Blender-Python-Code (bpy) umwandelt und direkt ausführt.


Voraussetzungen

Bevor es losgeht, benötigst du Folgendes:

  1. Blender (eine aktuelle Version, installiert auf deinem PC).
  2. Ein OpenAI-Konto und ein API-Key (erhältlich auf der OpenAI-Entwicklerplattform).
  3. Eine aktive Internetverbindung.

Schritt 1: Deinen OpenAI API-Key besorgen

Damit Blender mit der KI kommunizieren kann, benötigt das Programm deinen persönlichen API-Schlüssel:

  1. Gehe auf die offizielle Website von OpenAI und logge dich in dein Entwickler-Dashboard ein.
  2. Navigiere zum Bereich API Keys.
  3. Klicke auf Create new secret key.
  4. Kopiere den Schlüssel und speichere ihn an einem sicheren Ort (du kannst ihn später nicht mehr einsehen).

Schritt 2: Den Scripting-Bereich in Blender öffnen

Wir nutzen die interne Skript-Umgebung von Blender, um eine direkte Schnittstelle zur OpenAI-Schnittstelle aufzubauen.

  1. Öffne Blender mit einer neuen, leeren Szene.
  2. Klicke in der oberen Menüleiste auf den Tab Scripting (ganz rechts).
  3. Klicke im Text-Editor (mittleres Fenster) auf den Button + New (+ Neu), um ein neues Python-Skript zu erstellen.

Schritt 3: Das Integrations-Skript einfügen

Kopiere den folgenden Python-Code und füge ihn in das Textfenster von Blender ein.

Hinweis: Dieser Code nutzt standardmäßige Python-Bibliotheken (urllib), sodass du keine externen Pakete in Blender nachinstallieren musst.

import json
import urllib.request
import bpy

# ==========================================
# KONFIGURATION
# ==========================================
# Ersetze den Platzhalter durch deinen echten OpenAI API-Key:
API_KEY = "DEIN_OPENAI_API_KEY_HIER_EINTRAGEN"

# Dein Befehl an Blender/Codex:
PROMPT = "Erstelle 50 bunte Würfel, die zufällig im Raum verteilt sind."

# ==========================================
# API-FUNKTION
# ==========================================
def generate_blender_code(prompt, api_key):
    url = "https://api.openai.com/v1/chat/completions"

    headers = {
        "Content-Type": "application/json",
        "Authorization": f"Bearer {api_key}",
    }

    # Der System-Prompt zwingt die KI, NUR reinen Code ohne Erklärungen zurückzugeben
    system_instruction = (
        "Du bist ein Blender Python (bpy) Experte. Antworte AUSSCHLIESSLICH mit "
        "ausführbarem Python-Code. Verwende keine Markdown-Formatierung wie ```python, "
        "keine Einleitungen und keine Erklärungen. Nur der reine Code."
    )

    data = {
        "model": "gpt-4o",  # Oder ein anderes Codex-fähiges Modell
        "messages": [
            {"role": "system", "content": system_instruction},
            {"role": "user", "content": prompt},
        ],
        "temperature": 0.2,
    }

    req = urllib.request.Request(
        url, data=json.dumps(data).encode("utf-8"), headers=headers
    )

    try:
        with urllib.request.urlopen(req) as response:
            result = json.loads(response.read().decode("utf-8"))
            code = result["choices"][0]["message"]["content"]
            # Bereinige eventuelle Markdown-Reste
            code = code.replace("```python", "").replace("```", "").strip()
            return code
    except Exception as e:
        print(f"Fehler bei der API-Abfrage: {e}")
        return None


# ==========================================
# AUSFÜHRUNG
# ==========================================
print("Sende Anfrage an KI...")
generated_code = generate_blender_code(PROMPT, API_KEY)

if generated_code:
    print("Code empfangen! Führe Code aus:")
    print("-" * 40)
    print(generated_code)
    print("-" * 40)

    # Führt den empfangenen Code direkt in Blender aus
    try:
        exec(generated_code)
        print("Erfolgreich ausgeführt!")
    except Exception as e:
        print(f"Fehler beim Ausführen des Codes in Blender: {e}")
else:
    print("Es konnte kein Code generiert werden.")

Schritt 4: Das Skript anpassen und ausführen

  1. Suche im Skript nach der Zeile:
    API_KEY = "DEIN_OPENAI_API_KEY_HIER_EINTRAGEN"

    Ersetze den Text in den Anführungszeichen durch deinen tatsächlichen OpenAI-Schlüssel.

  2. Suche nach der Zeile:
    PROMPT = "Erstelle 50 bunte Würfel, die zufällig im Raum verteilt sind."

    Hier kannst du deinen eigenen Wunsch eingeben (z. B. "Erstelle ein Sonnensystem" oder "Lösche alle Objekte und erstelle eine Kugel mit Gold-Material").

  3. Klicke oben rechts im Text-Editor auf das Play-Symbol (Skript ausführen) oder drücke Alt + P.

Schritt 5: Ergebnis prüfen

  • Wechsle zurück in den Arbeitsbereich Layout oder Modeling.
  • Im 3D-Viewport siehst du nun das Ergebnis, das die KI direkt für dich modelliert hat.
  • Falls etwas nicht klappt, kannst du über Window -> Toggle System Console (unter Windows) das Fehlerprotokoll einsehen.

Wichtige Tipps & Sicherheitshinweise

  • Vorsicht mit exec(): Der Befehl exec() führt Code direkt aus. Die KI sollte niemals unüberwacht Systembefehle (wie das Löschen von Dateien auf deiner Festplatte) ausführen. Für komplexe Aufgaben ist es ratsam, den generierten Code erst in der Konsole zu lesen, bevor man ihn ausführt.
  • Präzise Prompts: Je genauer du beschreibst, was du willst, desto besser wird der Blender-Code. Erwähne Dinge wie Materialien, Positionen oder Modifikatoren explizit.
  • Kostenkontrolle: Denk daran, dass Abfragen an die OpenAI-API geringe Kosten verursachen können. Behalte dein OpenAI-Guthaben im Blick.
0