Μετάβαση στο περιεχόμενο

Mage SDK · Python

Το Python SDK της Mage

Δημιούργησε εικόνες, βίντεο και ήχο από Python με sync και asyncio clients και τυποποιημένα configs για κάθε μοντέλο της Mage.

pip install mage-space

Με μια ματιά

Το Python SDK της Mage είναι ο επίσημος client ανοιχτού κώδικα για το Mage API και δημοσιεύεται ως mage-space. Εγκατάστησέ το με «pip install mage-space», όρισε το MAGE_API_KEY και κάλεσε το mage.run με ένα model id και ένα config, για να πάρεις έτοιμες εικόνες, βίντεο ή ήχο από οποιοδήποτε από τα 28 μοντέλα. Τρέχει σε Python 3.10 ή νεότερο και κάθε δημιουργία πληρώνεται με Gems.

  • 3.10+Python
  • httpxHTTP client
  • 28Μοντέλα με τύπους
  • MITΑνοιχτός κώδικας

Ρύθμιση

Εγκατάστησε το Python SDK και τρέξε ένα μοντέλο

  1. Εγκατάσταση του πακέτου

    Πρόσθεσε το mage-space στο project σου.

    pip install mage-space
  2. Ορισμός του κλειδιού API

    Δημιούργησε ένα κλειδί στο API → API Keys στο mage.space και κάνε export. Ο client διαβάζει το MAGE_API_KEY.

    export MAGE_API_KEY="mage_sk_..."
  3. Δημιουργία

    Κάλεσε το run με ένα id μοντέλου και τη ρύθμισή του. Περιμένει το αποτέλεσμα και το επιστρέφει· η έξοδος βρίσκεται στο 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"])

Παραδείγματα

Το Python SDK στην πράξη

Κάθε παράδειγμα ξεκινά από έναν client που διαβάζει το MAGE_API_KEY.

Υποβολή τώρα, αναμονή αργότερα
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"]),
)
Μεταφόρτωση αρχείου
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"]],
})
Χρήση αποθηκευμένου Character
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"})
Διαχείριση σφαλμάτων
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)

Γιατί το SDK

Τι αναλαμβάνει το SDK για εσένα

  • Μία κλήση, έτοιμο πολυμέσο

    Το run υποβάλλει τη δημιουργία, κάνει polling με το backoff που προτείνει το API και επιστρέφει το ολοκληρωμένο αίτημα με το result.url.

  • Επαναλήψεις χωρίς διπλή χρέωση

    Κάθε υποβολή φέρει ένα idempotency key. Τα σφάλματα δικτύου και διακομιστή επαναλαμβάνονται με backoff και μια υποβολή που επαναλαμβάνεται δεν χρεώνεται ξανά.

  • Uploads με μία κλήση

    Τα αρχεία που είναι πολύ μεγάλα για data URL περνούν από υπογεγραμμένο upload, με το ticket, το PUT και τον έλεγχο μεγέθους να γίνονται για σένα.

  • Σαφή σφάλματα

    Οι απορρίψεις του API περιλαμβάνουν το HTTP status, τον κωδικό σφάλματος και το request id· οι αποτυχημένες ή ακυρωμένες δημιουργίες και τα timeouts έχουν δικούς τους τύπους σφαλμάτων.

  • Sync και asyncio

    Τα Mage και AsyncMage έχουν όλες τις ίδιες μεθόδους. Ο async client ταιριάζει σε web servers, notebooks και pipelines που τρέχουν πολλές δημιουργίες ταυτόχρονα.

  • Τυποποιημένα configs

    Κάθε μοντέλο έχει ένα TypedDict, όπως το MangoConfig, που παράγεται από την τεκμηρίωση του API. Δήλωσε τον τύπο ενός config με αυτό και ο type checker σου θα ελέγχει τα πεδία.

Αναφορά

Το Python SDK με μια ματιά

Οι ίδιες μέθοδοι καλύπτουν κάθε μοντέλο· το μοντέλο είναι το πρώτο όρισμα.

ΜέθοδοςΤι κάνει
mage.run(model, config)Υποβάλλει μια δημιουργία, περιμένει να ολοκληρωθεί και επιστρέφει το ολοκληρωμένο αίτημα.
mage.generate(model, config)Υποβάλλει μια δημιουργία και επιστρέφει αμέσως το αίτημα.
mage.requests.get / cancel / waitΔιαβάζει, σταματά ή περιμένει ένα αίτημα με βάση το id.
mage.uploads.upload(data)Ανεβάζει μια διαδρομή, bytes ή αρχείο έως 100 MB και επιστρέφει το URL του.
mage.characters / mage.referencesΕμφανίζει, δημιουργεί και διαγράφει αποθηκευμένα Characters και References.
mage.account.get()Το υπόλοιπο των Gems σου.
mage.architectures.list()Ο ζωντανός κατάλογος μοντέλων με επιλογές και τιμές.

Μοντέλα

Ξεκίνα με αυτά τα μοντέλα

  • Εικόνα · από 37 Gems

    Guava API

    Φωτορεαλισμός που περνά για φωτογραφία

  • Εικόνα · από 135 Gems

    Mango API

    Η κορυφαία οικογένεια μοντέλων εικόνας μας

  • Εικόνα · από 51 Gems

    Nano Banana 2 API

    Καθαρό, ευανάγνωστο κείμενο, έως 4K

  • Βίντεο · από 618 Gems

    Cherry API

    Η κορυφαία οικογένεια μοντέλων βίντεο μας

  • Βίντεο · από 245 Gems

    Lemon API

    Όλες οι δυνατότητες βίντεο, σε πιο προσιτή τιμή

  • Ήχος · από 19 Gems

    Seed Audio API

    Φωνές, μουσική και ηχητικά εφέ από ένα μόνο prompt

Συχνές ερωτήσεις

Συχνές ερωτήσεις

Υποστηρίζει το Python SDK το asyncio;
Ναι. Το AsyncMage έχει τις ίδιες μεθόδους με το Mage, με await, και λειτουργεί ως async context manager.
Ποιες εκδόσεις Python υποστηρίζει το SDK;
Python 3.10 και νεότερες. Οι μόνες του εξαρτήσεις είναι τα httpx και typing-extensions.
Μπορώ να χρησιμοποιήσω το Python SDK σε notebook ή σε data pipeline;
Ναι. Χρησιμοποίησε το Mage σε scripts και notebooks, ή το AsyncMage με asyncio για να τρέχεις πολλές δημιουργίες ταυτόχρονα. Ο λογαριασμός μπορεί να έχει έως 20 δημιουργίες σε εξέλιξη.
Είναι τα Mage SDK δωρεάν και ανοιχτού κώδικα;
Ναι. Τα SDK και οι κόμβοι ComfyUI έχουν άδεια MIT στο GitHub και η εγκατάστασή τους είναι δωρεάν. Πληρώνεις μόνο για τις δημιουργίες που εκτελείς, σε Gems, στην τιμή που αναφέρεται για κάθε μοντέλο.
Λειτουργούν τα νέα μοντέλα της Mage με παλαιότερο SDK;
Ναι. Πέρασε το id του νέου μοντέλου ως string και θα τρέξει· το SDK ελέγχει τη ρύθμισή του με βάση τα πεδία που μοιράζονται όλα τα μοντέλα. Ένα bot ενημερώνει τους τύπους κάθε φορά που αλλάζει η τεκμηρίωση του API, οπότε τα νέα μοντέλα έρχονται με τους δικούς τους τύπους στην επόμενη έκδοση.
Πώς αποφεύγουν τα SDK τη διπλή χρέωση όταν ένα αίτημα επαναλαμβάνεται;
Κάθε υποβολή περιλαμβάνει ένα Idempotency-Key. Το SDK δημιουργεί νέο κλειδί για κάθε κλήση και το επαναχρησιμοποιεί όταν επαναλαμβάνει μόνο του την ίδια κλήση, έτσι μια υποβολή που επαναλαμβάνεται επιστρέφει το αρχικό αίτημα και δεν χρεώνει τίποτα.
Είναι σταθερά τα SDK;
Βρίσκονται σε beta στην έκδοση 0.x, επομένως μια δευτερεύουσα έκδοση (minor) μπορεί ακόμη να τα αλλάξει. Το ίδιο το API έχει ξεχωριστή αρίθμηση εκδόσεων και παραμένει σταθερό μέσα στο v1.
Πόσο κοστίζει το Mage API;
Δεν υπάρχει συνδρομή ούτε μηνιαία χρέωση. Κάθε δημιουργία πληρώνεται σε Gems με την τιμή που αναγράφεται για το μοντέλο της, και 1.000 Gems κοστίζουν $1 στο τυπικό πακέτο. Κάθε σελίδα μοντέλου δείχνει την τιμή με τις προεπιλεγμένες ρυθμίσεις και κάθε απάντηση αναφέρει την ακριβή χρέωση. Αν μια δημιουργία αποτύχει, γίνεται επιστροφή· αν την αποκλείσει η πολιτική περιεχομένου του Mage, δεν γίνεται. Ένα αίτημα που το υπόλοιπό σου δεν καλύπτει απορρίπτεται πριν γίνει οποιαδήποτε χρέωση.
Χρειάζομαι συνδρομή στο Mage για να χρησιμοποιήσω το API;
Όχι. Το API λειτουργεί αποκλειστικά με Gems. Τα πλάνα συνδρομής και η απεριόριστη δημιουργία μέσα στην εφαρμογή δεν ισχύουν για αιτήματα API, οπότε οποιοσδήποτε λογαριασμός Mage με Gems μπορεί να το καλέσει.
Μπορώ να χρησιμοποιήσω τα αποτελέσματα του API εμπορικά;
Ναι. Το περιεχόμενο που δημιουργείς με το Mage, μεταξύ άλλων μέσω του API και του MCP server, μπορεί να χρησιμοποιηθεί εμπορικά. Η αναφορά στην πηγή είναι ευπρόσδεκτη αλλά δεν είναι υποχρεωτική.

Ξεκίνα να δημιουργείς με το Mage

Ένας λογαριασμός, ένα υπόλοιπο Gems, όλα τα μοντέλα. Πληρώνεις μόνο για ό,τι δημιουργείς.