Mage SDK · TypeScript

Mage TypeScript SDK

Node.js ile görsel, video ve ses üret; her Mage modeli için tipli yapılandırmalar hazır. Tek çağrı gönderir, bekler ve sonucu döndürür.

API anahtarı alTypeScript kılavuzunu okuGitHub'da kaynak kod
npm install @mage-space/sdk

Bir bakışta

Mage TypeScript SDK, Mage API'nin resmi ve açık kaynaklı istemcisidir ve @mage-space/sdk adıyla yayımlanır. "npm install @mage-space/sdk" ile kur, MAGE_API_KEY değerini ayarla ve bir model kimliği ile yapılandırmayla mage.run çağırarak 28 modelden herhangi birinden hazır görsel, video veya ses al. Node.js 20.19 veya üstünde ya da fetch destekleyen herhangi bir sunucu çalışma ortamında çalışır; her üretim Gems ile ödenir.

Kurulum

TypeScript SDK'yı kur ve bir model çalıştır

  1. Paketi kur

    @mage-space/sdk paketini projene ekle.

    npm install @mage-space/sdk
  2. API anahtarını ayarla

    mage.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_..."
  3. Üret

    run fonksiyonunu bir model kimliği ve yapılandırmasıyla çağır. Sonucu bekler ve döndürür; çıktı result.url adresindedir.

    import Mage from '@mage-space/sdk';
    
    const mage = new Mage(); // reads MAGE_API_KEY
    
    const request = await mage.run('mango', {
      prompt: 'Editorial portrait in soft daylight, 35mm film look',
      aspect_ratio: '4:5',
      model_id: 'mango-v3',
    });
    
    console.log(request.result.url);

Örnekler

TypeScript SDK uygulamada

Her örnek, MAGE_API_KEY değerini okuyan bir istemciyle başlar.

Şimdi gönder, sonra bekle
import Mage from '@mage-space/sdk';

const mage = new Mage(); // reads MAGE_API_KEY

const submitted = await mage.generate('cherry', {
  prompt: 'Waves rolling onto a black sand beach at sunset',
  resolution: '720p',
  duration: '5',
});

const final = await mage.requests.wait(submitted.request_id, {
  timeout: 15 * 60_000,
  onUpdate: (request) => console.log(request.status),
});
Dosya yükle
import { readFile } from 'node:fs/promises';
import Mage from '@mage-space/sdk';

const mage = new Mage(); // reads MAGE_API_KEY

const clip = await mage.uploads.upload(await readFile('clip.mp4'), {
  contentType: 'video/mp4',
});

await mage.run('cherry', {
  prompt: 'Restyle this clip as a watercolor painting',
  videos: [clip.url],
});
Kayıtlı bir karakter kullan
import Mage from '@mage-space/sdk';

const mage = new Mage(); // reads MAGE_API_KEY

await mage.characters.create({
  name: 'Ana',
  handle: 'ana',
  image: 'https://example.com/ana.png',
});

await mage.run('mango', { prompt: '@ana walking through a night market' });
Hataları yönet
import Mage, { MageAPIError, MageGenerationError } from '@mage-space/sdk';

const mage = new Mage(); // reads MAGE_API_KEY

try {
  await mage.run('mango', { prompt: 'A lighthouse at night' });
} catch (error) {
  if (error instanceof MageAPIError && error.code === 'insufficient_gems') {
    // Top up Gems, then try again.
  } else if (error instanceof MageGenerationError) {
    console.log('No output:', error.code);
  } else {
    throw error;
  }
}

Neden SDK

SDK senin için neleri halleder

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.

İki kez ödetmeyen yeniden denemeler

Her istek bir idempotency anahtarı taşır. Ağ ve sunucu hataları geri çekilmeyle yeniden denenir, yeniden denenen istek için tekrar ücret alınmaz.

Tek çağrıda yükleme

Data URL için fazla büyük dosyalar imzalı yükleme üzerinden gider; bilet, PUT isteği ve boyut kontrolü senin yerine halledilir.

Anlaşılır hatalar

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.

Her model için tipli

MangoConfig, CherryConfig ve diğerleri API referansından üretilir; böylece editörün alanları tamamlar ve geçersiz seçenekleri yakalar.

Sıfır bağımlılık

Çalışma zamanı bağımlılığı olmayan ESM. Node.js'in yerleşik fetch'ini kullanır ve her çağrı bir AbortSignal alır.

Referans

TypeScript SDK bir bakışta

Aynı yöntemler her modeli kapsar; model ilk argümandır.

YöntemNe 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 / waitBir isteği kimliğiyle okur, durdurur veya bekler.
mage.uploads.upload(data)En fazla 100 MB'lık bir dosya yükler ve URL'sini döndürür.
mage.characters / mage.referencesKayı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

Bu modellerle başla

Görsel · 37 Gem'den başlayan fiyatlarla

Guava API

Fotoğraf sanılacak kadar gerçekçi görseller

Görsel · 135 Gem'den başlayan fiyatlarla

Mango API

Amiral gemisi görsel model ailemiz

Görsel · 68 Gem'den başlayan fiyatlarla

Nano Banana 2 API

Net, okunaklı metin, 4K'ya kadar

Video · 618 Gem'den başlayan fiyatlarla

Cherry API

Amiral gemisi video model ailemiz

Video · 245 Gem'den başlayan fiyatlarla

Lemon API

Tüm video özellikleri, daha uygun fiyata

Ses · 19 Gem'den başlayan fiyatlarla

Seed Audio API

Tek bir prompt'tan sesler, müzik ve ses efektleri

SSS

Sık sorulan sorular

Mage TypeScript SDK'yı tarayıcıda kullanabilir miyim?

Hayır. Bir API anahtarı Gems'ini harcar, bu yüzden onu sunucularında tut. API CORS başlıkları göndermez, bu nedenle tarayıcılar onu doğrudan çağıramaz; bunun yerine kendi arka ucunu çağır ve SDK'yı orada kullan.

TypeScript SDK CommonJS ile çalışır mı?

Paket yalnızca ESM'dir. Node.js 20.19 ve üzeri, onu CommonJS'ten require() ile de yükleyebilir.

TypeScript SDK Next.js ile çalışır mı?

Evet, route handler'lar ve server action'lar gibi sunucu kodunda çalışır. SDK, fetch ve AbortSignal gibi standart Web API'leri üzerine kurulduğu için fetch destekleyen diğer sunucu ortamlarında da çalışması beklenir; yine de CI testleri Node.js üzerinde yapılır.

Mage SDK'ları ücretsiz ve açık kaynak mı?

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.

Yeni Mage modelleri eski bir SDK ile çalışır mı?

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.

SDK'lar yeniden denenen bir istek için iki kez ödeme yapılmasını nasıl önler?

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.

SDK'lar kararlı mı?

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.

Mage API ne kadar?

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.

API'yi kullanmak için Mage üyeliği gerekir mi?

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.

API çıktılarını ticari amaçla kullanabilir miyim?

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.

Mage ile geliştirmeye başla

Tek hesap, tek Gems bakiyesi, tüm modeller. Yalnızca ürettiğin kadar öde.

API anahtarı alTypeScript kılavuzunu oku

İlgili