त्वरित शुरुआत
मूल भाग के रूप में अपनी छवि के साथ एक 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 लौटाता है। कॉइनबेस x402 SDK का उपयोग करके बेस पर USDC ट्रांसफर पर हस्ताक्षर करें, फिर X-PAYMENT हेडर के साथ पुनः भेजें।
GitHub पर x402 SDK देखें →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)अनुरोध प्रारूप
- •endpoint
- •मुख्य भाग: कच्ची छवि बाइट्स (पीएनजी, जेपीईजी, या वेबपी)
- •सामग्री-प्रकार: छवि/पीएनजी | छवि/जेपीईजी | छवि/वेबपी
- •वैकल्पिक: WebP आउटपुट के लिए ?format=webp
प्रतिक्रिया प्रारूप
- •HTTP 200 - बाइनरी इमेज (PNG या WebP)
- •HTTP 402 - भुगतान आवश्यक (मुख्य भाग में x402 विवरण)
त्रुटि प्रबंधन
- •400 - अमान्य छवि (खराब प्रारूप, मैजिक बाइट्स बेमेल, या आयाम पार हो गया)
- •413 — फ़ाइल बहुत बड़ी (> 25 एमबी)
- •415 — असमर्थित सामग्री-प्रकार
- •429 - दर सीमा पार हो गई (अवैतनिक अनुरोध: 30/मिनट/आईपी)
- •500 - प्रसंस्करण विफल (पुनः प्रयास योग्य: सत्य)
- •503 - प्रोसेसर अस्थायी रूप से अनुपलब्ध (पुनः प्रयास योग्य: सत्य)
सीमाएँ और प्रारूप
- •अधिकतम फ़ाइल आकार: 25 एमबी
- •अधिकतम आयाम: 10,000 × 10,000 पिक्सेल
- •समर्थित इनपुट: पीएनजी, जेपीईजी, वेबपी
- •आउटपुट: पीएनजी (डिफ़ॉल्ट) या वेबपी
नेटवर्क
एपीआई बेस मेननेट पर चलता है। भुगतान वास्तविक यूएसडीसी ($0.05 प्रति छवि) में तय किए जाते हैं। अनुरोध करने से पहले सुनिश्चित करें कि आपके वॉलेट में USDC बेस पर है।