x402 API Entegrasyon Kılavuzu

Arka plan kaldırma işlemini uygulamanıza veya aracınıza entegre etmek için ihtiyacınız olan her şey.

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

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.

Entegrasyona hazır mısınız?