Hızlı Başlangıç
Ham gövde olarak görselinizi içeren bir POST isteği gönderin. Kimlik doğrulama başlığına gerek yok — API, ödeme için x402 kullanır.
# Step 1: discovery — returns HTTP 402 with payment details curl -X POST https://x402.clearcanvas.app/v1/remove-background \ -H "Content-Type: image/png" \ --data-binary @photo.png # Step 2: paid request — attach X-PAYMENT header with signed USDC transfer curl -X POST https://x402.clearcanvas.app/v1/remove-background \ -H "Content-Type: image/png" \ -H "X-PAYMENT: <base64-signed-payload>" \ --data-binary @photo.png \ --output result.png
x402 aracılığıyla kimlik doğrulama
x402 standart bir HTTP ödeme protokolüdür. İlk istekte API, ödeme ayrıntılarını içeren HTTP 402 değerini döndürür. Coinbase x402 SDK'yı kullanarak Base'de bir USDC transferi imzalayın ve ardından X-PAYMENT başlığıyla yeniden gönderin.
GitHub'da x402 SDK'yı görüntüleyin →TypeScript
import fs from 'fs';
import { wrapFetchWithPayment } from '@coinbase/x402';
import { privateKeyToAccount } from 'viem/accounts';
const account = privateKeyToAccount(process.env.PRIVATE_KEY as `0x${string}`);
const fetch402 = wrapFetchWithPayment(fetch, account);
const res = await fetch402('https://x402.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 x402.client import wrap_httpx # pip install x402
client = wrap_httpx(private_key=os.environ["PRIVATE_KEY"])
resp = client.post(
"https://x402.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)
- •İçerik Türü: image/png | resim/jpeg | resim/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 (x402 ayrıntılar metinde)
Hata İşleme
- •400 — Geçersiz resim (kötü format, sihirli bayt uyumsuzluğu veya boyut aşıldı)
- •413 — Dosya çok büyük (> 25 MB)
- •415 — Desteklenmeyen İçerik Türü
- •429 — Hız sınırı aşıldı (ücretsiz istekler: 30/dak/IP)
- •500 — İşleme başarısız oldu (yeniden denenebilir: doğru)
- •503 — İşlemci geçici olarak kullanılamıyor (yeniden denenebilir: doğru)
Sınırlar ve Formatlar
- •Maksimum dosya boyutu: 25 MB
- •Maksimum boyutlar: 10.000 × 10.000 piksel
- •Desteklenen giriş: PNG, JPEG, WebP
- •Çıktı: PNG (varsayılan) veya WebP
Ağ
API, Base ana ağında çalışır. Ödemeler gerçek USDC cinsinden yapılır (görüntü başına 0,05 ABD doları). Talepte bulunmadan önce cüzdanınızın Base'de USDC bulundurduğundan emin olun.