Ugrás a tartalomhoz

Mage SDK · Python

A Mage Python SDK

Generálj képeket, videókat és hangot Pythonból szinkron és asyncio kliensekkel, valamint típusos konfigurációkkal minden Mage-modellhez.

pip install mage-space

Dióhéjban

A Mage Python SDK a Mage API hivatalos, nyílt forráskódú kliense, mage-space néven publikálva. Telepítsd a "pip install mage-space" paranccsal, állítsd be a MAGE_API_KEY változót, majd hívd meg a mage.run függvényt egy modellazonosítóval és egy konfigurációval, és kész képeket, videókat vagy hangot kapsz a 28 modell bármelyikéből. Python 3.10 vagy újabb verzión fut, és minden generálás Gems-ben fizetendő.

  • 3.10+Python
  • httpxHTTP-kliens
  • 28Típusos modellek
  • MITNyílt forráskód

Beállítás

Telepítsd a Python SDK-t, és futtass egy modellt

  1. Csomag telepítése

    Add hozzá a mage-space csomagot a projektedhez.

    pip install mage-space
  2. API-kulcs beállítása

    Hozz létre egy kulcsot a mage.space oldalon az API → API Keys menüben, és exportáld. A kliens a MAGE_API_KEY változót olvassa.

    export MAGE_API_KEY="mage_sk_..."
  3. Generálás

    Hívd meg a run metódust egy modellazonosítóval és a hozzá tartozó konfigurációval. Megvárja az eredményt, és visszaadja; a kimenet a result.url címen érhető el.

    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"])

Példák

A Python SDK a gyakorlatban

Minden példa egy olyan kliensből indul, amely a MAGE_API_KEY változót olvassa.

Beküldés most, várakozás később
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"]),
)
Fájl feltöltése
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"]],
})
Mentett karakter használata
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"})
Hibakezelés
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)

Miért az SDK

Amit az SDK elintéz helyetted

  • Egy hívás, kész média

    A run elküldi a generálást, az API által javasolt visszalépéses időzítéssel lekérdezi az állapotot, és a kész kéréssel tér vissza result.url értékkel.

  • Újrapróbálkozás kétszeri fizetés nélkül

    Minden beküldés idempotencia-kulcsot visz magával. A hálózati és szerverhibáknál visszalépéses időzítéssel újrapróbálkozik, az újra elküldött kérésért pedig soha nem számolunk fel újabb díjat.

  • Feltöltés egy hívással

    A data URL-hez túl nagy fájlok aláírt feltöltéssel mennek át, a jegyet, a PUT kérést és a méretellenőrzést pedig az SDK intézi helyetted.

  • Érthető hibák

    Az API elutasításai tartalmazzák a HTTP-státuszt, a hibakódot és a kérésazonosítót; a sikertelen vagy megszakított generálásoknak és az időtúllépéseknek saját hibatípusuk van.

  • Szinkron és asyncio

    A Mage és az AsyncMage minden metódusa közös. Az aszinkron kliens jól illik webszerverekhez, notebookokhoz és olyan pipeline-okhoz, amelyek egyszerre sok generálást futtatnak.

  • Típusos konfigurációk

    Minden modellhez tartozik egy TypedDict, például a MangoConfig, amelyet az API-referenciából generálunk. Jelöld meg vele a konfigurációt, és a típusellenőrződ ellenőrzi a mezőket.

Referencia

A Python SDK dióhéjban

Ugyanazok a metódusok minden modellt lefednek; a modell az első argumentum.

MetódusMit csinál
mage.run(model, config)Beküld egy generálást, megvárja, és visszaadja a befejezett kérést.
mage.generate(model, config)Beküld egy generálást, és azonnal visszaadja a kérést.
mage.requests.get / cancel / waitKérés lekérdezése, leállítása vagy megvárása azonosító alapján.
mage.uploads.upload(data)Feltölt egy elérési utat, bájtokat vagy legfeljebb 100 MB-os fájlt, és visszaadja az URL-jét.
mage.characters / mage.referencesMentett karakterek és referenciák listázása, létrehozása és törlése.
mage.account.get()A Gem-egyenleged.
mage.architectures.list()Az élő modellkatalógus beállításokkal és árakkal.

Modellek

Kezdd ezekkel a modellekkel

  • Kép · 37 Gemtől

    Guava API

    Fotórealizmus, ami fényképnek is elmegy

  • Kép · 135 Gemtől

    Mango API

    Zászlóshajó képmodellcsaládunk

  • Kép · 51 Gemtől

    Nano Banana 2 API

    Éles, jól olvasható szöveg, akár 4K-ban

  • Videó · 618 Gemtől

    Cherry API

    Zászlóshajó videómodellcsaládunk

  • Videó · 245 Gemtől

    Lemon API

    Minden videófunkció, barátibb áron

  • Hang · 19 Gemtől

    Seed Audio API

    Hangok, zene és hangeffektek egyetlen promptból

GYIK

Gyakran ismételt kérdések

Támogatja a Python SDK az asyncio-t?
Igen. Az AsyncMage ugyanazokat a metódusokat kínálja, mint a Mage, awaitelve, és aszinkron kontextuskezelőként is használható.
Mely Python-verziókat támogatja az SDK?
A Python 3.10-et és az újabbakat. Az egyetlen függősége a httpx és a typing-extensions.
Használhatom a Python SDK-t notebookban vagy adatfeldolgozó pipeline-ban?
Igen. Használd a Mage-et szkriptekben és notebookokban, vagy az AsyncMage-et asyncio-val, ha egyszerre sok generálást szeretnél futtatni. A fiókodon egyszerre legfeljebb 20 generálás futhat.
Ingyenesek és nyílt forráskódúak a Mage SDK-k?
Igen. Az SDK-k és a ComfyUI-csomópontok MIT-licenccel elérhetők a GitHubon, a telepítésük pedig ingyenes. Csak a futtatott generálásokért fizetsz Gemekben, az adott modell listaárán.
Működnek az új Mage modellek régebbi SDK-val?
Igen. Add meg az új modell azonosítóját szövegként, és már fut is; az SDK a konfigurációt a minden modellnél közös mezők alapján ellenőrzi. Egy bot frissíti a típusokat, valahányszor változik az API-dokumentáció, így az új modellek a saját típusaikkal érkeznek a következő kiadásban.
Hogyan kerüli el az SDK, hogy kétszer fizess egy újrapróbált kérésért?
Minden beküldés tartalmaz egy Idempotency-Key kulcsot. Az SDK hívásonként új kulcsot készít, és újrapróbálkozáskor ugyanazt használja újra, így az ismételt beküldés az eredeti kérést adja vissza, és nem terhel meg semmivel.
Stabilak az SDK-k?
Béta állapotban vannak, 0.x verzióval, így egy kisebb verzió még módosíthatja őket. Maga az API külön verziózott, és a v1-en belül stabil marad.
Mennyibe kerül a Mage API?
Nincs előfizetés vagy havidíj. Minden generálást Gemekkel fizetsz a modell feltüntetett árán, és a standard csomagban 1000 Gem 1 dollárba kerül. Minden modelloldalon az alapbeállításokhoz tartozó ár látható, és minden válasz megadja a pontos terhelést. A sikertelen generálás árát visszatérítjük; azt viszont nem, amelyet a Mage tartalmi irányelvei blokkoltak. Az a kérés, amelyet az egyenleged nem fedez, elutasításra kerül, mielőtt bármit terhelnénk.
Kell Mage-tagság az API használatához?
Nem. Az API kizárólag Gemekkel működik. A tagsági csomagok és a hozzájuk tartozó korlátlan alkalmazáson belüli generálás nem vonatkozik az API-kérésekre, így bármelyik Mage-fiók használhatja, amelyen van Gem.
Felhasználhatom kereskedelmi célra az API kimeneteit?
Igen. A Mage-dzsel készített tartalmakat – az API-n és az MCP-szerveren keresztül létrehozottakat is – kereskedelmi célra is felhasználhatod. A forrásmegjelölést köszönjük, de nem kötelező.

Kezdj el építeni a Mage-dzsel

Egy fiók, egy Gems-egyenleg, az összes modell. Csak azért fizetsz, amit legenerálsz.