Krediler ve kullanım

Direct API çağrılarının nasıl ücretlendirildiği, kesinleştirildiği ve iade edildiği, bir işin önceden nasıl fiyatlandırılacağı ve anahtarınızın harcamasının ve defterinin nasıl okunacağı.

Direct API, Morphic kredilerini kuruluşunuzun bakiyesinden, yani Studio'nun kullandığı aynı havuzdan düşer ve her yanıt kaç kredi düşüldüğünü söyler.

  • Direct API çağrıları kuruluşunuzun API ücretleri üzerinden ücretlendirilir; bu ücretler aynı işin Studio'daki maliyetinden farklı olabilir. API'nin size verdiği her sayı bu ücretleri zaten yansıtır: plan_media fiyat teklifleri, estimated_credits, billing bloğu, üretim okumaları, webhook'lar ve /usage.
  • Ücretler kuruluş bazında belirlenir ve yayımlanmaz. Hesap sorumlunuz API ücret tablonuzu sizinle paylaşabilir.
  • Bir ücret değişikliği, değişiklikten sonra başlatılan üretimlere uygulanır; çalışmakta olan bir üretim, başladığı ücretle kesinleştirilir.
  • Studio'da Settings > Credits altında API harcaması, üyelerinizin yanında API adlı ayrı bir satır olarak görünür ve Split API by key bunu anahtar bazında ayırır. Kuruluşun kredilerinden düşülür ama hiçbir zaman bir üyenin tahsisinden düşülmez ve her anahtarın kredi sınırları bunu sınırlar.

Bir üretim nasıl ücretlendirilir

  1. Başlangıçta üretimden fiyat teklifindeki tutar alınır. Başlatma yanıtı bunu billing.credits_charged ve result.estimated_credits içinde bildirir.
  2. Bazı çıktılar gerçekte ne üretildiğine göre fiyatlandırılır: konuşma ve müzik üretilen uzunluğa, zaman çizelgesi render'ları işlem süresine göre. Bunlar credits_settle_on_output_duration: true taşır; başlangıç ücreti bir taban tutardır ve nihai tutar üretim bittiğinde kesinleştirilir.
  3. failed veya cancelled ile biten bir üretimin ücreti tamamen iade edilir ve billing.credits_refunded geri verilen kredileri bildirir. Başarılı bir üretim de kısmi iade alabilir; örneğin kesinleştirilen bir çıktı, başlangıç ücretinin karşıladığından daha kısa çıktığında.
  4. Bir üretim son durumuna ulaştığında billing.credits_charged defterdeki net toplamdır (başlangıç ücreti, artı veya eksi kesinleştirme, eksi credits_refunded) ve credits_are_final değeri true olur. Başarısız olan veya iptal edilen bir üretim credits_charged: 0 ile ve kendisinden alınan tutara eşit bir credits_refunded ile sona erer.
AlanAnlamı
estimated_creditsbaşlangıçta teklif edilen ve alınan fiyat
credits_chargedbu üretim için şu ana kadar kaydedilen net krediler, kesinleştirme ve iadelerden sonra
credits_refundedbu üretim için geri verilen tüm krediler: failed veya cancelled durumunda ücretin tamamı, başarılı bir üretimde varsa kısmi iade; iade yoksa 0, asla negatif değil
credits_are_finalüretim çalışırken veya bir kesinleştirme ya da iade hâlâ beklenirken false; artık hiçbir şey değiştirmeyecekse true
credits_settle_on_output_durationbaşlangıç ücreti, üretilen çıktıya göre kesinleştirilen bir taban tutarsa true

Bir üretim çalışırken credits_charged başlangıç ücretine eşittir. Kesinleştirilmiş tutar için üretim son durumuna ulaştıktan sonra onu yeniden okuyun; webhook yalnızca o noktada gönderilir.

Her yanıttaki faturalandırma

Bir çağrının yanıtındaki billing bloğu, çağrının döndüğü anda ne kadar ücret aldığını bildirir; Bir aracı çağırma bunu çağrı türüne göre listeler. İadeler daha sonra gerçekleşir, bu yüzden orijinal yanıtta değil, üretimde (GET /generations/{id} ve /usage) görünür.

  • Çağrı içinde yanıt veren ve işi başarısız olan analyze_video gibi ücretli bir araç, credits_charged: 0 ile ve iade edilen tutara ayarlanmış credits_refunded ile yanıt verir.
  • Morphic-Credits-Charged: <integer> başlığı billing.credits_charged ile aynı sayıyı taşır; tek istisna, ek ücret almayan ve gövdesi orijinal ücreti tekrarlarken 0 gönderen idempotent tekrardır.

Harcamadan önce fiyat alın

POST /v1/direct/tools/plan_media, en fazla 20 adımlık bir planı doğrular ve hiçbir şey başlatmadan veya ücret almadan fiyatlandırabildiği adımları fiyatlandırır.

curl -s https://mcp.morphic.com/v1/direct/tools/plan_media \
  -H "Authorization: Bearer $MORPHIC_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
        "input": {
          "steps": [
            { "id": "still", "tool_name": "generate_image", "arguments_json": "{\"prompt\":\"A red vintage bicycle\",\"aspect_ratio\":\"16:9\"}" },
            { "id": "clip", "tool_name": "generate_video", "arguments_json": "{\"prompt\":\"The bicycle rolls away\",\"duration_seconds\":8}", "depends_on": ["still"] }
          ]
        }
      }'
  • Çıktıları henüz var olmayan varlık alanlarını boş bırakın ve geldikleri adımı depends_on içinde belirtin.
  • Her adım kendi validation, quote_status ve estimated_credits değerlerini alır.
  • Sonuç ayrıca execution_order, known_estimated_credits, unquoted_step_ids ve complete_estimate değerlerini verir. complete_estimate değeri false olduğunda toplam bir bütçe değil, bir alt sınırdır.

Anahtar ve bakiye

GET /v1/direct/me, çağıran anahtarı, sınırlarını ve harcamasını ve kuruluşun bakiyesini döndürür. Her anahtar bunu çağırabilir.

curl -s https://mcp.morphic.com/v1/direct/me \
  -H "Authorization: Bearer $MORPHIC_API_KEY"
{
  "api_key": {
    "id": "01928e00-…",
    "name": "Order pipeline (prod)",
    "scopes": ["assets:read", "assets:write", "generations:write", "projects:read"],
    "expires_at": null,
    "credit_limits": {
      "total":   { "limit": 500000, "used": 182340, "remaining": 317660 },
      "monthly": { "limit": 100000, "used": 41200,  "remaining": 58800, "resets_at": "2026-11-01T00:00:00.000Z" },
      "daily":   { "limit": null,   "used": 2310,   "remaining": null,  "resets_at": "2026-10-26T00:00:00.000Z" }
    }
  },
  "organization": {
    "id": "01928d00-…",
    "plan": "enterprise",
    "remaining_credits": 1240000,
    "unlimited": false
  }
}

Kullanım defteri

GET /v1/direct/usage (assets:read kapsamı), kendi kayıtlarınızla mutabakat için anahtarın neden olduğu her defter kaydını döndürür.

SorguAnlamı
from, tocreated_at için ISO 8601 sınırları; varsayılan olarak son 30 gün, en fazla 92 gün
generation_idyalnızca tek bir üretimin kayıtları
limit1 ile 200 arası, varsayılan 50
cursorönceki sayfanın next_cursor değeri
curl -s "https://mcp.morphic.com/v1/direct/usage?from=2026-10-01T00:00:00Z&limit=200" \
  -H "Authorization: Bearer $MORPHIC_API_KEY"
{
  "usage": [
    { "id": "0192a7b3-…", "created_at": "2026-10-25T09:14:03.500Z", "kind": "charge",     "credits": 120, "generation_id": "0192a7b3-a1c4-…", "tool": "generate_video", "model_id": "mdl_7rk2pq9vxa4m", "metadata": { "order_id": "4411" } },
    { "id": "0192a7b4-…", "created_at": "2026-10-25T09:15:41.950Z", "kind": "settlement", "credits": -24, "generation_id": "0192a7b3-a1c4-…", "tool": "generate_video", "model_id": "mdl_7rk2pq9vxa4m", "metadata": { "order_id": "4411" } }
  ],
  "totals": { "charged": 120, "settled": -24, "refunded": 0, "net": 96 },
  "next_cursor": null
}
  • kind, charge, settlement veya refund değerlerinden biridir; negatif bir credits kredi iade eder.
  • totals yalnızca sayfayı değil, filtrelenen aralığın tamamını kapsar.
  • Çağrı içinde yanıt veren bir araç (analyze_video, analyze_audio, filmlab_edit) üretim başlatmaz, bu yüzden kayıtları generation_id: null taşır ve tool ile ayırt edilir.

Herhangi bir sorun yaşarsanız ya da sorularınız olursa, bizimle iletişime geçmekten çekinmeyin. Yardım etmeye memnuniyet duyarız. Bize şu adresten yazın: support@morphic.com.

Bu sayfada