Mage SDK · Python
Python SDK для Mage
Генеруй зображення, відео й аудіо з Python за допомогою синхронних та asyncio-клієнтів і типізованих конфігурацій для кожної моделі Mage.
pip install mage-spaceКоротко
Python SDK для Mage — це офіційний клієнт API Mage з відкритим кодом, опублікований як mage-space. Встанови його командою "pip install mage-space", задай MAGE_API_KEY і викличи mage.run з ідентифікатором моделі та конфігурацією, щоб отримати готові зображення, відео або аудіо від будь-якої з 28 моделей. Він працює на Python 3.10 або новіших версіях, а кожна генерація оплачується в Gems.
- 3.10+Python
- httpxHTTP-клієнт
- 28Типізовані моделі
- MITВідкритий код
Налаштування
Встанови Python SDK і запусти модель
Установіть пакет
Додай mage-space до свого проєкту.
pip install mage-spaceЗадайте API-ключ
Створіть ключ у розділі API → API Keys на mage.space і експортуйте його. Клієнт читає MAGE_API_KEY.
export MAGE_API_KEY="mage_sk_..."Згенеруйте
Викличте 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 на практиці
Кожен приклад починається з клієнта, який читає 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"]],
})Використати збереженого персонажа
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 надсилає генерацію, опитує API з рекомендованою затримкою (backoff) і повертає завершений запит із result.url.
Повтори без подвійної оплати
Кожен запит містить ключ ідемпотентності. Мережеві та серверні помилки повторюються з наростаючою затримкою, а повторний запит ніколи не оплачується вдруге.
Завантаження одним викликом
Файли, завеликі для data URL, надсилаються через підписане завантаження: квиток, PUT і перевірку розміру SDK бере на себе.
Зрозумілі помилки
Відмови API містять HTTP-статус, код помилки та id запиту; невдалі або скасовані генерації й тайм-аути мають власні типи помилок.
Sync та asyncio
Mage і AsyncMage мають однакові методи. Асинхронний клієнт підходить для вебсерверів, ноутбуків і пайплайнів, що запускають багато генерацій одночасно.
Типізовані конфігурації
Для кожної моделі є TypedDict, наприклад MangoConfig, згенерований із довідника API. Анотуй ним конфігурацію, і твій перевірник типів перевірить поля.
Довідник
Python SDK коротко
Одні й ті самі методи працюють для всіх моделей; модель — це перший аргумент.
| Метод | Що він робить |
|---|---|
| mage.run(model, config) | Надсилає генерацію, чекає на неї й повертає завершений запит. |
| mage.generate(model, config) | Надсилає генерацію й одразу повертає запит. |
| mage.requests.get / cancel / wait | Читає, зупиняє або очікує запит за id. |
| mage.uploads.upload(data) | Завантажує шлях, байти або файл розміром до 100 MB і повертає його URL. |
| mage.characters / mage.references | Показує, створює та видаляє збережених персонажів і референси. |
| mage.account.get() | Ваш баланс Gems. |
| mage.architectures.list() | Актуальний каталог моделей із параметрами та цінами. |
Моделі
Почніть із цих моделей
Guava API
Фотореалізм, який не відрізниш від справжнього фото
Mango API
Наша флагманська лінійка моделей для зображень
Nano Banana 2 API
Чіткий, читабельний текст, до 4K
Cherry API
Наша флагманська лінійка моделей для відео
Lemon API
Усі відеофункції за привабливішою ціною
Seed Audio API
Голоси, музика та звукові ефекти з одного промпту
Поширені запитання
Поширені запитання
Чи підтримує Python SDK asyncio?
Які версії Python підтримує SDK?
Чи можна використовувати Python SDK у ноутбуці або конвеєрі даних?
Чи безкоштовні й відкриті SDK Mage?
Чи працюють нові моделі Mage зі старішою версією SDK?
Як SDK уникають подвійної оплати за повторний запит?
Чи стабільні SDK?
Скільки коштує Mage API?
Чи потрібна підписка на Mage, щоб користуватися API?
Чи можна використовувати результати API в комерційних цілях?
Створюй з Mage
Один акаунт, один баланс Gems, усі моделі. Плати лише за те, що генеруєш.