快速开始
三种上传方式,按你的栈选一种 —— 它们最终都走同一条处理管线。
① multipart —— 一次调用完成上传 + 处理
一次 HTTP 调用,没有 base64 膨胀。绝大多数场景推荐这条。
curl -X POST https://erased.ink/api/v1/jobs \
-F "image=@photo.png" \
-F "mode=visible"
# → { "id":"job_xxx", "status":"succeeded", "result_url":"https://..." }// JavaScript (browser or Node 18+)
const fd = new FormData();
fd.append("image", fileBlob, "photo.png");
fd.append("mode", "visible");
const res = await fetch("https://erased.ink/api/v1/jobs", { method: "POST", body: fd });
const { result_url } = await res.json();# Python
import requests
with open("photo.png", "rb") as f:
r = requests.post("https://erased.ink/api/v1/jobs",
files={"image": f}, data={"mode": "visible"})
print(r.json()["result_url"])② JSON + base64 —— 给纯 JSON 工具用(≤1MB)
适合只能发 JSON 的工具(Zapier、n8n 等)。解码后 ≤1MB。
curl -X POST https://erased.ink/api/v1/jobs \
-H 'content-type: application/json' \
-d '{
"image_base64":"iVBORw0KGgo...",
"content_type":"image/png",
"mode":"visible"
}'③ 预签名上传 —— 大文件 / 批量
> 10MB 或批量上传:申请预签名 R2 URL → 直接 PUT 到 R2(绕过 Worker) → 用 object_key 提交任务:
# 1) 申请预签名 PUT URL
curl -X POST https://erased.ink/api/v1/uploads \
-H 'content-type: application/json' \
-d '{"filename":"photo.png","content_type":"image/png","size":4823109}'
# → { "upload_url":"https://...", "object_key":"in/2026-05-24/job_xxx.png" }
# 2) 直接 PUT 到 R2(content-type 必须与第 1 步一致)
curl -X PUT "<upload_url>" --data-binary @photo.png -H 'content-type: image/png'
# 3) 用 object_key 提交任务
curl -X POST https://erased.ink/api/v1/jobs \
-H 'content-type: application/json' \
-d '{"object_key":"in/2026-05-24/job_xxx.png","mode":"visible"}'身份认证
共两档,另有未登录时的有限访问:
- 未登录 —— 仅限
detect模式(100 次/时)。去水印功能需注册免费账号。 - 免费 —— 在 erased.ink/zh/sign-in 用 Google 或邮箱魔法链接登录,解锁所有去水印模式:轻量操作 10 次/天(visible、metadata),重量操作 3 次/天(invisible、all),detect 提升至 500 次/时。
- Pro —— $9/月订阅,解锁按月配额(轻量 5000 次 + 重量 500 次)并发放 API key。每次请求都需带上
Authorization: Bearer uk_...。