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_mediafiyat teklifleri,estimated_credits,billingbloğ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
- Başlangıçta üretimden fiyat teklifindeki tutar alınır. Başlatma yanıtı bunu
billing.credits_chargedveresult.estimated_creditsiçinde bildirir. - 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: truetaşır; başlangıç ücreti bir taban tutardır ve nihai tutar üretim bittiğinde kesinleştirilir. failedveyacancelledile biten bir üretimin ücreti tamamen iade edilir vebilling.credits_refundedgeri 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.- Bir üretim son durumuna ulaştığında
billing.credits_chargeddefterdeki net toplamdır (başlangıç ücreti, artı veya eksi kesinleştirme, eksicredits_refunded) vecredits_are_finaldeğeritrueolur. Başarısız olan veya iptal edilen bir üretimcredits_charged: 0ile ve kendisinden alınan tutara eşit bircredits_refundedile sona erer.
| Alan | Anlamı |
|---|---|
estimated_credits | başlangıçta teklif edilen ve alınan fiyat |
credits_charged | bu üretim için şu ana kadar kaydedilen net krediler, kesinleştirme ve iadelerden sonra |
credits_refunded | bu ü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_duration | baş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_videogibi ücretli bir araç,credits_charged: 0ile ve iade edilen tutara ayarlanmışcredits_refundedile yanıt verir. Morphic-Credits-Charged: <integer>başlığıbilling.credits_chargedile aynı sayıyı taşır; tek istisna, ek ücret almayan ve gövdesi orijinal ücreti tekrarlarken0gö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_oniçinde belirtin. - Her adım kendi
validation,quote_statusveestimated_creditsdeğerlerini alır. - Sonuç ayrıca
execution_order,known_estimated_credits,unquoted_step_idsvecomplete_estimatedeğerlerini verir.complete_estimatedeğerifalseolduğ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.
| Sorgu | Anlamı |
|---|---|
from, to | created_at için ISO 8601 sınırları; varsayılan olarak son 30 gün, en fazla 92 gün |
generation_id | yalnızca tek bir üretimin kayıtları |
limit | 1 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,settlementveyarefunddeğerlerinden biridir; negatif bircreditskredi iade eder.totalsyalnı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: nulltaşır vetoolile 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.