Mage SDK · Python

Das Mage Python-SDK

Erzeuge Bilder, Videos und Audio mit Python – mit Sync- und asyncio-Clients und typisierten Configs für jedes Mage-Modell.

API-Schlüssel holenPython-Anleitung lesenQuellcode auf GitHub
pip install mage-space

Auf einen Blick

Das Mage Python-SDK ist der offizielle Open-Source-Client für die Mage API und wird als mage-space veröffentlicht. Installiere es mit "pip install mage-space", setze MAGE_API_KEY und rufe mage.run mit einer Modell-ID und einer Config auf, um fertige Bilder, Videos oder Audio von einem der 28 Modelle zu erhalten. Es läuft mit Python 3.10 oder neuer, und jede Generierung wird mit Gems bezahlt.

Einrichtung

Python-SDK installieren und ein Modell ausführen

  1. Paket installieren

    Füge mage-space zu deinem Projekt hinzu.

    pip install mage-space
  2. API-Key festlegen

    Erstelle auf mage.space unter API → API Keys einen Key und exportiere ihn. Der Client liest MAGE_API_KEY.

    export MAGE_API_KEY="mage_sk_..."
  3. Generieren

    Rufe run mit einer Modell-ID und der zugehörigen Konfiguration auf. Es wartet auf das Ergebnis und gibt es zurück; die Ausgabe findest du unter result.url.

    from mage_space import Mage
    
    mage = Mage()  # reads MAGE_API_KEY
    
    request = mage.run("mango", {
        "prompt": "Editorial portrait in soft daylight, 35mm film look",
        "aspect_ratio": "4:5",
        "model_id": "mango-v3",
    })
    
    print(request["result"]["url"])

Beispiele

Das Python-SDK in der Praxis

Jedes Beispiel beginnt mit einem Client, der MAGE_API_KEY liest.

Jetzt senden, später warten
from mage_space import Mage

mage = Mage()  # reads MAGE_API_KEY

submitted = mage.generate("cherry", {
    "prompt": "Waves rolling onto a black sand beach at sunset",
    "resolution": "720p",
    "duration": "5",
})

final = mage.requests.wait(
    submitted["request_id"],
    timeout=900,
    on_update=lambda request: print(request["status"]),
)
Datei hochladen
from mage_space import Mage

mage = Mage()  # reads MAGE_API_KEY

clip = mage.uploads.upload("clip.mp4")  # a path, bytes, or a binary file

mage.run("cherry", {
    "prompt": "Restyle this clip as a watercolor painting",
    "videos": [clip["url"]],
})
Gespeicherten Character verwenden
from mage_space import Mage

mage = Mage()  # reads MAGE_API_KEY

mage.characters.create(
    name="Ana",
    handle="ana",
    image="https://example.com/ana.png",
)

mage.run("mango", {"prompt": "@ana walking through a night market"})
Fehler behandeln
from mage_space import Mage, MageAPIError, MageGenerationError

mage = Mage()  # reads MAGE_API_KEY

try:
    mage.run("mango", {"prompt": "A lighthouse at night"})
except MageAPIError as error:
    if error.code == "insufficient_gems":
        print("Gems needed:", error.body["error"]["gems_required"])
    else:
        raise
except MageGenerationError as error:
    print("No output:", error.code)

Warum das SDK

Was das SDK für dich übernimmt

Ein Aufruf, fertiges Medium

run sendet die Generierung ab, fragt mit dem von der API empfohlenen Backoff den Status ab und liefert die abgeschlossene Anfrage mit result.url zurück.

Wiederholungen ohne doppelte Kosten

Jede Anfrage enthält einen Idempotenzschlüssel. Netzwerk- und Serverfehler werden mit Backoff wiederholt, und eine wiederholte Anfrage wird nie erneut berechnet.

Uploads in einem Aufruf

Dateien, die für eine Data-URL zu groß sind, laufen über einen signierten Upload. Ticket, PUT und Größenprüfung übernehmen wir für dich.

Klare Fehlermeldungen

Ablehnungen der API enthalten HTTP-Status, Fehlercode und Request-ID; fehlgeschlagene oder abgebrochene Generierungen und Timeouts haben eigene Fehlertypen.

Sync und asyncio

Mage und AsyncMage haben dieselben Methoden. Der Async-Client passt zu Webservern, Notebooks und Pipelines, die viele Generierungen gleichzeitig ausführen.

Typisierte Configs

Jedes Modell hat ein TypedDict, etwa MangoConfig, das aus der API-Referenz generiert wird. Annotiere eine Config damit, und dein Type-Checker prüft die Felder.

Referenz

Das Python-SDK im Überblick

Dieselben Methoden decken jedes Modell ab; das Modell ist das erste Argument.

MethodeWas es macht
mage.run(model, config)Sendet eine Generierung, wartet darauf und gibt die abgeschlossene Anfrage zurück.
mage.generate(model, config)Sendet eine Generierung und gibt die Anfrage sofort zurück.
mage.requests.get / cancel / waitEine Anfrage per ID abrufen, stoppen oder auf sie warten.
mage.uploads.upload(data)Lädt einen Pfad, Bytes oder eine Datei bis 100 MB hoch und gibt die URL zurück.
mage.characters / mage.referencesGespeicherte Characters und References auflisten, erstellen und löschen.
mage.account.get()Dein Gems-Guthaben.
mage.architectures.list()Der aktuelle Modellkatalog mit Optionen und Preisen.

Modelle

Starte mit diesen Modellen

Bild · ab 37 Gems

Guava API

Fotorealismus, der als Foto durchgeht

Bild · ab 135 Gems

Mango API

Unsere Flaggschiff-Bildfamilie

Bild · ab 68 Gems

Nano Banana 2 API

Gestochen scharfer, lesbarer Text, bis zu 4K

Video · ab 618 Gems

Cherry API

Unsere Flaggschiff-Videofamilie

Video · ab 245 Gems

Lemon API

Alle Video-Funktionen zu einem fairen Preis

Audio · ab 19 Gems

Seed Audio API

Stimmen, Musik und Soundeffekte aus einem Prompt

FAQ

Häufig gestellte Fragen

Unterstützt das Python-SDK asyncio?

Ja. AsyncMage hat dieselben Methoden wie Mage, mit await, und funktioniert als asynchroner Kontextmanager.

Welche Python-Versionen unterstützt das SDK?

Python 3.10 und neuer. Die einzigen Abhängigkeiten sind httpx und typing-extensions.

Kann ich das Python-SDK in einem Notebook oder einer Datenpipeline nutzen?

Ja. Nutze Mage in Skripten und Notebooks oder AsyncMage mit asyncio, um viele Generierungen gleichzeitig auszuführen. Pro Konto laufen bis zu 20 Generierungen parallel.

Sind die Mage SDKs kostenlos und Open Source?

Ja. Die SDKs und die ComfyUI-Nodes stehen auf GitHub unter der MIT-Lizenz, und die Installation ist kostenlos. Du zahlst nur für die Generierungen, die du ausführst – in Gems, zum jeweils angegebenen Preis des Modells.

Funktionieren neue Mage-Modelle mit einem älteren SDK?

Ja. Übergib die ID des neuen Modells als String, dann läuft es. Das SDK prüft die Konfiguration anhand der Felder, die alle Modelle gemeinsam haben. Ein Bot aktualisiert die Typen, sobald sich die API-Referenz ändert, sodass neue Modelle mit eigenen Typen im nächsten Release erscheinen.

Wie verhindern die SDKs, dass ich bei einer wiederholten Anfrage doppelt zahle?

Jede Übermittlung enthält einen Idempotency-Key. Das SDK erzeugt pro Aufruf einen neuen Key und verwendet ihn erneut, wenn es diesen Aufruf selbst wiederholt. So gibt eine wiederholte Übermittlung die ursprüngliche Anfrage zurück und es fallen keine Kosten an.

Sind die SDKs stabil?

Sie befinden sich als 0.x in der Beta, daher kann sich mit einer Minor-Version noch etwas ändern. Die API selbst wird separat versioniert und bleibt innerhalb von v1 stabil.

Was kostet die Mage API?

Es gibt kein Abo und keine monatliche Gebühr. Jede Generierung wird in Gems zum angegebenen Preis des Modells bezahlt, und 1.000 Gems kosten im Standardpaket 1 $. Jede Modellseite nennt den Preis bei Standardeinstellungen, und jede Antwort enthält die genaue Abrechnung. Eine fehlgeschlagene Generierung wird erstattet; eine, die von der Inhaltsrichtlinie von Mage blockiert wird, nicht. Eine Anfrage, die dein Guthaben nicht deckt, wird abgelehnt, bevor etwas berechnet wird.

Brauche ich eine Mage-Mitgliedschaft, um die API zu nutzen?

Nein. Die API läuft ausschließlich über Gems. Mitgliedschaften und ihre unbegrenzten Generierungen in der App gelten nicht für API-Anfragen, daher kann jedes Mage-Konto mit Gems sie nutzen.

Kann ich API-Ergebnisse kommerziell nutzen?

Ja. Inhalte, die du mit Mage erstellst, auch über die API und den MCP-Server, kannst du kommerziell nutzen. Eine Namensnennung freut uns, ist aber nicht erforderlich.

Starte jetzt mit Mage

Ein Konto, ein Gems-Guthaben, alle Modelle. Du zahlst nur für das, was du generierst.

API-Schlüssel holenPython-Anleitung lesen

Ähnliche Inhalte