त्वरित शुरुआत
अपनी छवि को raw body के रूप में भेजते हुए एक POST अनुरोध भेजें। API, MPP स्पेक के अनुसार HTTP 402 और WWW-Authenticate: Payment header के साथ challenge देता है।
# 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 के माध्यम से प्रमाणीकरण
MPP, Stripe और Tempo द्वारा सह-लॉन्च किया गया एक खुला HTTP भुगतान प्रोटोकॉल है। पहले अनुरोध पर API, WWW-Authenticate: Payment challenge के साथ HTTP 402 लौटाता है। mppx SDK का उपयोग करके Tempo पर pathUSD transfer पर हस्ताक्षर करें, फिर Authorization: Payment header के साथ दोबारा भेजें।
mppx SDK docs देखें →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)अनुरोध प्रारूप
- •एंडपॉइंट
- •बॉडी: raw image bytes (PNG, JPEG या WebP)
- •Content-Type: image/png | image/jpeg | image/webp
- •वैकल्पिक: WebP output के लिए ?format=webp
प्रतिक्रिया प्रारूप
- •HTTP 200 — बाइनरी इमेज (PNG या WebP)
- •HTTP 402 — भुगतान आवश्यक (WWW-Authenticate: Payment challenge)
त्रुटि प्रबंधन
- •400 — अमान्य छवि (खराब प्रारूप, magic bytes mismatch, या सीमा से अधिक आयाम)
- •413 — फ़ाइल बहुत बड़ी (> 25 MB)
- •415 — असमर्थित Content-Type
- •429 — दर सीमा पार हो गई (अवैतनिक अनुरोध: 30/मिनट/IP)
- •500 — प्रोसेसिंग विफल (retryable: true)
- •503 — प्रोसेसर अस्थायी रूप से अनुपलब्ध (retryable: true)
सीमाएँ और प्रारूप
- •अधिकतम फ़ाइल आकार: 25 MB
- •अधिकतम आयाम: 10,000 × 10,000 px
- •समर्थित इनपुट: PNG, JPEG, WebP
- •आउटपुट: PNG (डिफ़ॉल्ट) या WebP
नेटवर्क
API Tempo mainnet पर चलता है। भुगतान pathUSD में settle होते हैं ($0.05 प्रति छवि)। अनुरोध करने से पहले सुनिश्चित करें कि आपके Tempo wallet में pathUSD हो। बिना लागत के end-to-end testing के लिए Tempo testnet का उपयोग करें।