快速入门
以原始 body 发送含图片的 POST 请求。API 按照 MPP 规范以 HTTP 402 与 WWW-Authenticate: Payment 标头发起挑战。
# 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 返回 HTTP 402 以及 WWW-Authenticate: Payment 挑战。使用 mppx SDK 在 Tempo 上签署 pathUSD 转账,然后附带 Authorization: Payment 标头重新发送。
查看 mppx SDK 文档 →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)请求格式
- •端点
- •Body:原始图片字节(PNG、JPEG 或 WebP)
- •Content-Type:image/png | image/jpeg | image/webp
- •可选:?format=webp 输出 WebP 格式
响应格式
- •HTTP 200 — 二进制图片(PNG 或 WebP)
- •HTTP 402 — 需要付款(WWW-Authenticate: Payment 挑战)
错误处理
- •400 — 图片无效(格式错误、魔数不匹配或尺寸超限)
- •413 — 文件过大(> 25 MB)
- •415 — 不支持的 Content-Type
- •429 — 超出速率限制(未付款请求:30 次/分钟/IP)
- •500 — 处理失败(retryable: true)
- •503 — 处理器暂时不可用(retryable: true)
限制与格式
- •最大文件大小:25 MB
- •最大尺寸:10,000 × 10,000 像素
- •支持的输入格式:PNG、JPEG、WebP
- •输出格式:PNG(默认)或 WebP
网络
该 API 运行于 Tempo 主网。付款以 pathUSD 结算(每张图片 $0.05)。发起请求前,请确保您的 Tempo 钱包持有 pathUSD。可使用 Tempo 测试网进行端到端测试,零成本。