x402 API دليل التكامل

كل ما تحتاجه لدمج إزالة الخلفية في تطبيقك أو وكيلك.

بداية سريعة

أرسل طلب POST مع صورتك كالجسم الخام. ليست هناك حاجة إلى رأس مصادقة — تستخدم واجهة برمجة التطبيقات x402 للدفع.

# 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

x402 هو بروتوكول دفع قياسي HTTP. في الطلب الأول، تقوم واجهة برمجة التطبيقات بإرجاع HTTP 402 مع تفاصيل الدفع. قم بالتوقيع على تحويل USDC على Base باستخدام Coinbase x402 SDK، ثم أعد إرساله باستخدام رأس X-PAYMENT.

عرض x402 SDK على GitHub

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)

تنسيق الطلب

  • نقطة النهاية
  • النص: بايتات الصورة الأولية (PNG، JPEG، أو WebP)
  • نوع المحتوى: صورة/png | صورة / JPEG | صورة/ويب
  • اختياري:?format=webp لإخراج WebP

تنسيق الاستجابة

  • HTTP 200 — صورة ثنائية (PNG أو WebP)
  • HTTP 402 — الدفع مطلوب (x402 التفاصيل في النص)

معالجة الأخطاء

  • 400 — صورة غير صالحة (تنسيق سيء، أو عدم تطابق البايتات السحرية، أو تم تجاوز البعد)
  • 413 — الملف كبير جدًا (> 25 ميجابايت)
  • 415 — نوع المحتوى غير مدعوم
  • 429 — تم تجاوز الحد الأقصى للسعر (الطلبات غير المدفوعة: 30/دقيقة/IP)
  • 500 — فشلت المعالجة (يمكن إعادة المحاولة: صحيح)
  • 503 - المعالج غير متاح مؤقتًا (قابل لإعادة المحاولة: صحيح)

الحدود والتنسيقات

  • الحد الأقصى لحجم الملف: 25 ميجابايت
  • الأبعاد القصوى: 10,000 × 10,000 بكسل
  • الإدخال المدعوم: PNG، JPEG، WebP
  • الإخراج: PNG (افتراضي) أو WebP

شبكة

تعمل واجهة برمجة التطبيقات (API) على الشبكة الرئيسية الأساسية. تتم تسوية المدفوعات بالدولار الأمريكي الحقيقي (0.05 دولار لكل صورة). تأكد من أن محفظتك تحتوي على USDC على Base قبل تقديم الطلبات.

على استعداد للاندماج؟