MPP एपीआई एकीकरण गाइड

MPP भुगतान प्रोटोकॉल का उपयोग करके पृष्ठभूमि हटाने को एकीकृत करने के लिए आपकी ज़रूरत की हर चीज़।

त्वरित शुरुआत

अपनी छवि को 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 का उपयोग करें।

एकीकृत करने के लिए तैयार हैं?