Hızlı Başlangıç
Ham gövde olarak görselinizi içeren bir POST isteği gönderin. API, MPP spesifikasyonuna göre HTTP 402 ve WWW-Authenticate: Payment başlığıyla bir sorgu döndürür.
# Step 1: discovery — returns HTTP 402 with a "Payment" challenge curl -X POST https://mpp.clearcanvas.app/v1/remove-background \ -H "Content-Type: image/png" \ --data-binary @photo.png # Step 2: paid request — attach an Authorization: Payment header curl -X POST https://mpp.clearcanvas.app/v1/remove-background \ -H "Content-Type: image/png" \ -H "Authorization: Payment <mpp-credential>" \ --data-binary @photo.png \ --output result.png
MPP aracılığıyla kimlik doğrulama
MPP, Stripe ve Tempo tarafından birlikte başlatılan açık bir HTTP ödeme protokolüdür. İlk istekte API, WWW-Authenticate: Payment sorgusuyla birlikte HTTP 402 döndürür. mppx SDK'yı kullanarak Tempo üzerinde bir pathUSD transferi imzalayın ve ardından Authorization: Payment başlığıyla yeniden gönderin.
mppx SDK belgelerini görüntüleyin →TypeScript
import fs from 'fs';
import { MppxClient } from 'mppx/client';
// Configure the mppx client for the Tempo crypto rail (pathUSD).
const client = new MppxClient({
wallet: process.env.TEMPO_WALLET_PRIVATE_KEY!,
network: 'tempo',
});
const res = await client.fetch('https://mpp.clearcanvas.app/v1/remove-background', {
method: 'POST',
headers: { 'Content-Type': 'image/png' },
body: fs.readFileSync('photo.png'),
});
const buffer = await res.arrayBuffer();
fs.writeFileSync('result.png', Buffer.from(buffer));Python
import os
import httpx
from mpp import wrap_httpx # pip install mpp
client = wrap_httpx(
wallet=os.environ["TEMPO_WALLET_PRIVATE_KEY"],
network="tempo",
)
resp = client.post(
"https://mpp.clearcanvas.app/v1/remove-background",
content=open("photo.png", "rb").read(),
headers={"Content-Type": "image/png"},
)
open("result.png", "wb").write(resp.content)Talep Formatı
- •Uç nokta
- •Gövde: ham görüntü baytları (PNG, JPEG veya WebP)
- •Content-Type: image/png | image/jpeg | image/webp
- •İsteğe bağlı: WebP çıkışı için ?format=webp
Yanıt Formatı
- •HTTP 200 — ikili görüntü (PNG veya WebP)
- •HTTP 402 — ödeme gerekli (WWW-Authenticate: Payment sorgusu)
Hata İşleme
- •400 — Geçersiz görüntü (kötü format, magic bytes uyumsuzluğu veya boyut aşıldı)
- •413 — Dosya çok büyük (> 25 MB)
- •415 — Desteklenmeyen Content-Type
- •429 — Hız sınırı aşıldı (ödenmemiş istekler: 30/dak/IP)
- •500 — İşleme başarısız oldu (retryable: true)
- •503 — İşlemci geçici olarak kullanılamıyor (retryable: true)
Sınırlar ve Formatlar
- •Maksimum dosya boyutu: 25 MB
- •Maksimum boyutlar: 10.000 × 10.000 px
- •Desteklenen giriş: PNG, JPEG, WebP
- •Çıktı: PNG (varsayılan) veya WebP
Ağ
API, Tempo ana ağında çalışır. Ödemeler pathUSD cinsinden yapılır (görüntü başına 0,05 $). İstek göndermeden önce Tempo cüzdanınızda pathUSD bulunduğundan emin olun. Uçtan uca testleri ücretsiz yapmak için Tempo test ağını kullanın.