Tek çağrı, hazır medya
run üretimi gönderir, API'nin önerdiği geri çekilme süreleriyle durumu yoklar ve result.url içeren tamamlanmış isteği döndürür.
Bir bakışta
Mage Python SDK'sı, Mage API'nin mage-space adıyla yayımlanan resmî, açık kaynaklı istemcisidir. "pip install mage-space" komutuyla kur, MAGE_API_KEY değişkenini ayarla ve bir model kimliği ile yapılandırmayla mage.run çağırarak 28 modelden herhangi biriyle hazır görsel, video veya ses al. Python 3.10 veya üzerinde çalışır ve her üretim Gems ile ödenir.
3.10+
Python
httpx
HTTP istemcisi
28
Tip tanımlı modeller
MIT
Açık kaynak
Kurulum
mage-space paketini projene ekle.
pip install mage-spacemage.space'te API → API Keys bölümünden bir anahtar oluştur ve dışa aktar. İstemci MAGE_API_KEY değerini okur.
export MAGE_API_KEY="mage_sk_..."run fonksiyonunu bir model kimliği ve yapılandırmasıyla çağır. Sonucu bekler ve döndürür; çıktı result.url adresindedir.
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"])Örnekler
Her örnek, MAGE_API_KEY değerini okuyan bir istemciyle başlar.
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"]],
})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)Neden SDK
run üretimi gönderir, API'nin önerdiği geri çekilme süreleriyle durumu yoklar ve result.url içeren tamamlanmış isteği döndürür.
Her istek bir idempotency anahtarı taşır. Ağ ve sunucu hataları geri çekilmeyle yeniden denenir, yeniden denenen istek için tekrar ücret alınmaz.
Data URL için fazla büyük dosyalar imzalı yükleme üzerinden gider; bilet, PUT isteği ve boyut kontrolü senin yerine halledilir.
API ret yanıtları HTTP durumunu, hata kodunu ve istek kimliğini taşır; başarısız veya iptal edilen üretimlerin ve zaman aşımlarının kendi hata türleri vardır.
Mage ve AsyncMage tüm yöntemleri paylaşır. Asenkron istemci; web sunucularına, not defterlerine ve aynı anda birçok üretim çalıştıran işlem hatlarına uygundur.
Her modelin API referansından oluşturulan bir TypedDict'i vardır; örneğin MangoConfig. Yapılandırmanı bununla işaretlersen tip denetleyicin alanları kontrol eder.
Referans
Aynı yöntemler her modeli kapsar; model ilk argümandır.
| Yöntem | Ne yapar? |
|---|---|
| mage.run(model, config) | Bir üretim gönderir, bitmesini bekler ve tamamlanan isteği döndürür. |
| mage.generate(model, config) | Bir üretim gönderir ve isteği hemen döndürür. |
| mage.requests.get / cancel / wait | Bir isteği kimliğiyle okur, durdurur veya bekler. |
| mage.uploads.upload(data) | 100 MB'a kadar bir dosya yolu, bayt verisi veya dosya yükler ve URL'sini döndürür. |
| mage.characters / mage.references | Kayıtlı karakterleri ve referansları listeler, oluşturur ve siler. |
| mage.account.get() | Gems bakiyen. |
| mage.architectures.list() | Seçenekleri ve fiyatlarıyla güncel model kataloğu. |
Modeller
Görsel · 37 Gem'den başlayan fiyatlarla
Fotoğraf sanılacak kadar gerçekçi görseller
Görsel · 135 Gem'den başlayan fiyatlarla
Amiral gemisi görsel model ailemiz
Görsel · 68 Gem'den başlayan fiyatlarla
Net, okunaklı metin, 4K'ya kadar
Video · 618 Gem'den başlayan fiyatlarla
Amiral gemisi video model ailemiz
Video · 245 Gem'den başlayan fiyatlarla
Tüm video özellikleri, daha uygun fiyata
Ses · 19 Gem'den başlayan fiyatlarla
Tek bir prompt'tan sesler, müzik ve ses efektleri
SSS
Evet. AsyncMage, Mage ile aynı yöntemlere sahiptir (await ile beklenir) ve asenkron bağlam yöneticisi olarak çalışır.
Python 3.10 ve üzeri. Tek bağımlılıkları httpx ve typing-extensions'tır.
Evet. Betiklerde ve not defterlerinde Mage'i, aynı anda birçok üretim çalıştırmak için ise asyncio ile AsyncMage'i kullan. Hesap aynı anda en fazla 20 üretimi işleyebilir.
Evet. SDK'lar ve ComfyUI düğümleri GitHub'da MIT lisanslıdır ve kurulumları ücretsizdir. Yalnızca çalıştırdığın üretimler için, her modelin belirtilen fiyatı üzerinden Gems ile ödersin.
Evet. Yeni modelin kimliğini bir metin olarak ver, çalışır; SDK yapılandırmayı her modelin ortak kullandığı alanlara göre kontrol eder. API referansı değiştiğinde bir bot tipleri günceller, böylece yeni modeller kendi tipleriyle bir sonraki sürümde gelir.
Her gönderim bir Idempotency-Key taşır. SDK her çağrı için yeni bir anahtar oluşturur ve o çağrıyı kendisi yeniden denediğinde aynı anahtarı kullanır. Böylece yeniden denenen gönderim orijinal isteği döndürür ve ek ücret almaz.
0.x sürümünde beta aşamasındalar, bu yüzden bir alt sürüm onları değiştirebilir. API'nin kendisi ayrı sürümlenir ve v1 içinde kararlı kalır.
Abonelik veya aylık ücret yoktur. Her üretim, modelin listelenen fiyatı üzerinden Gem ile ödenir; standart pakette 1.000 Gem 1 $ tutarındadır. Her model sayfasında varsayılan ayarların fiyatı yer alır ve her yanıt tam ücreti bildirir. Başarısız olan üretimin ücreti iade edilir; Mage'in içerik politikasına takılanın iade edilmez. Bakiyenin karşılayamadığı istek, hiçbir ücret alınmadan reddedilir.
Hayır. API yalnızca Gem ile çalışır. Üyelik planları ve uygulama içi sınırsız üretim API isteklerine uygulanmaz; yani Gem'i olan her Mage hesabı API'yi kullanabilir.
Evet. Mage ile oluşturduğun içerikler, API ve MCP sunucusu üzerinden oluşturdukların da dahil, ticari olarak kullanılabilir. Atıf yapmanı memnuniyetle karşılarız ama zorunlu değil.
Tek hesap, tek Gems bakiyesi, tüm modeller. Yalnızca ürettiğin kadar öde.