Přeskočit na obsah

Mage SDK · Python

Python SDK pro Mage

Generuj obrázky, video a audio z Pythonu pomocí synchronních i asyncio klientů a typovaných konfigurací pro každý model Mage.

pip install mage-space

Stručně

Python SDK pro Mage je oficiální open source klient pro Mage API, vydaný pod názvem mage-space. Nainstaluj ho příkazem "pip install mage-space", nastav MAGE_API_KEY a zavolej mage.run s ID modelu a konfigurací. Hotové obrázky, video nebo audio získáš z kteréhokoli z 28 modelů. Funguje na Pythonu 3.10 nebo novějším a každá generace se platí v Gems.

  • 3.10+Python
  • httpxHTTP klient
  • 28Typované modely
  • MITOpen source

Nastavení

Nainstaluj Python SDK a spusť model

  1. Nainstaluj balíček

    Přidej mage-space do svého projektu.

    pip install mage-space
  2. Nastav API klíč

    Vytvoř klíč v API → API Keys na mage.space a exportuj ho. Klient čte MAGE_API_KEY.

    export MAGE_API_KEY="mage_sk_..."
  3. Generuj

    Zavolej run s id modelu a jeho konfigurací. Počká na výsledek a vrátí ho; výstup najdeš v 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"])

Příklady

Python SDK v praxi

Každý příklad vychází z klienta, který čte MAGE_API_KEY.

Odešli hned, počkej později
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"]),
)
Nahraj soubor
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"]],
})
Použij uloženou postavu
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"})
Ošetři chyby
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)

Proč SDK

Co SDK vyřeší za tebe

  • Jedno volání, hotová média

    run odešle generování, dotazuje se na stav s odstupy doporučenými API a vrátí dokončený požadavek s result.url.

  • Opakování, která nikdy neúčtují dvakrát

    Každý požadavek nese idempotentní klíč. Při chybách sítě a serveru se pokus opakuje s postupně rostoucími odstupy a opakovaný požadavek se nikdy nezpoplatní znovu.

  • Nahrávání jedním voláním

    Soubory příliš velké pro data URL se nahrávají přes podepsané nahrání, o tiket, PUT i kontrolu velikosti se postaráme za tebe.

  • Srozumitelné chyby

    Odmítnutí ze strany API obsahují HTTP status, kód chyby a ID požadavku; neúspěšná nebo zrušená generování a vypršení časového limitu mají vlastní typy chyb.

  • Sync a asyncio

    Mage a AsyncMage mají všechny metody společné. Asynchronní klient se hodí pro webové servery, notebooky i pipeline, které spouštějí mnoho generací najednou.

  • Typované konfigurace

    Každý model má svůj TypedDict, například MangoConfig, vygenerovaný z reference API. Anotuj jím konfiguraci a tvůj type checker zkontroluje všechna pole.

Reference

Python SDK ve stručnosti

Stejné metody pokrývají každý model; model je první argument.

MetodaCo dělá
mage.run(model, config)Odešle generování, počká na něj a vrátí dokončený požadavek.
mage.generate(model, config)Odešle generování a okamžitě vrátí požadavek.
mage.requests.get / cancel / waitNačte požadavek podle id, zastaví ho, nebo na něj počká.
mage.uploads.upload(data)Nahraje cestu k souboru, bajty nebo soubor do velikosti 100 MB a vrátí jeho URL.
mage.characters / mage.referencesZobrazí, vytvoří a smaže uložené postavy a reference.
mage.account.get()Tvůj zůstatek Gems.
mage.architectures.list()Aktuální katalog modelů s možnostmi a cenami.

Modely

Začni s těmito modely

  • Obrázek · od 37 Gems

    Guava API

    Fotorealismus, který projde jako fotografie

  • Obrázek · od 135 Gems

    Mango API

    Naše vlajková řada obrázkových modelů

  • Obrázek · od 51 Gems

    Nano Banana 2 API

    Ostrý, čitelný text až do 4K

  • Video · od 618 Gems

    Cherry API

    Naše vlajková řada video modelů

  • Video · od 245 Gems

    Lemon API

    Všechny video funkce za příznivější cenu

  • Zvuk · od 19 Gems

    Seed Audio API

    Hlasy, hudba a zvukové efekty z jednoho promptu

Časté dotazy

Často kladené otázky

Podporuje Python SDK asyncio?
Ano. AsyncMage má stejné metody jako Mage, jen se na ně čeká pomocí await, a funguje jako asynchronní kontextový manažer.
Které verze Pythonu SDK podporuje?
Python 3.10 a novější. Jediné závislosti jsou httpx a typing-extensions.
Můžu Python SDK používat v notebooku nebo datové pipeline?
Ano. Používej Mage ve skriptech a noteboocích, nebo AsyncMage s asyncio ke spuštění mnoha generací najednou. Účet může mít současně rozpracovaných až 20 generací.
Jsou Mage SDK zdarma a open source?
Ano. SDK i uzly pro ComfyUI mají na GitHubu licenci MIT a jejich instalace je zdarma. Platíš jen za generování, která spustíš, v Gems, za uvedenou cenu každého modelu.
Fungují nové modely Mage i se starším SDK?
Ano. Předej id nového modelu jako řetězec a poběží; SDK zkontroluje jeho konfiguraci podle polí, která sdílejí všechny modely. Bot aktualizuje typy při každé změně v API referenci, takže nové modely dorazí s vlastními typy v dalším vydání.
Jak SDK zabrání dvojímu zaplacení za opakovaný požadavek?
Každé odeslání nese hlavičku Idempotency-Key. SDK vytvoří nový klíč pro každé volání a použije ho znovu, když to volání samo opakuje, takže opakované odeslání vrátí původní požadavek a nic se neúčtuje.
Jsou SDK stabilní?
Jsou v betě ve verzi 0.x, takže je může změnit i vedlejší verze. Samotné API má vlastní verzování a v rámci v1 zůstává stabilní.
Kolik stojí Mage API?
Žádné předplatné ani měsíční poplatek. Každá generace se platí v Gems podle uvedené ceny modelu a 1 000 Gems stojí 1 $ ve standardním balíčku. Stránka každého modelu uvádí cenu při výchozím nastavení a každá odpověď obsahuje přesnou účtovanou částku. Neúspěšná generace se vrací; ta, kterou zablokují zásady obsahu Mage, ne. Požadavek, na který zůstatek nestačí, se odmítne dřív, než se cokoli naúčtuje.
Potřebuji k používání API členství v Mage?
Ne. API funguje jen na Gems. Členské plány a jejich neomezené generování v aplikaci se na požadavky API nevztahují, takže ho může volat jakýkoli účet Mage s Gems.
Můžu výstupy z API používat komerčně?
Ano. Obsah, který v Mage vytvoříš, včetně toho z API a MCP serveru, můžeš používat komerčně. Uvedení autora oceníme, ale není povinné.

Začni tvořit s Mage

Jeden účet, jeden zůstatek Gems, všechny modely. Platíš jen za to, co vygeneruješ.