一次批量提交
每篇独立返回状态,单项失败不拖累整批。
一次提交最多 5 篇,每篇独立返回。失败不扣额度,网络重试不重复扣费;API 只消耗长期有效的付费额度。
https://prosemend.com/api/v1/rewrite每篇独立返回状态,单项失败不拖累整批。
处理失败或超时的条目不会消耗付费额度。
沿用同一个 Idempotency-Key,网络重试不会产生双重扣费。
确认账号有付费额度,再创建只显示一次的 API Key。
替换密钥和正文,给每批请求一个稳定的幂等键。
逐项读取 status,成功取 result,失败按 error.code 处理。
先确认账号有付费额度再创建密钥。完整密钥只显示一次;服务端只保存不可逆哈希,撤销后立即失效。
正在读取账号密钥…
items是1—5 个稿件对象items[].clientReference否调用方唯一标识,最多 64 字符;默认使用数组下标items[].text是需要清稿的原文;整批合计最多 10,000 字items[].scenario否自动判断、种草推荐、经验分享、观点长文、职场表达items[].platform否通用、公众号、小红书、知乎、职场、微博或抖音items[].referenceStyle否临时参考的作者风格文本;单篇最多 3,000 字items[].supplementalDetails否用户提供的真实经历、数字或限制条件;单篇最多 3,000 字HTTP 200 表示批次完成,不代表每篇都成功。请逐项检查 items[].status。
{
"ok": true,
"batchId": "cm...",
"status": "completed",
"totalInputChars": 1680,
"consumedChars": 920,
"items": [
{"clientReference":"article-001","status":"succeeded","consumedChars":920,"result":{"rewrittenText":"..."}},
{"clientReference":"article-002","status":"failed","consumedChars":0,"error":{"code":"processing_timeout","message":"处理超时,本项未扣额度"}}
]
}invalid_api_key401密钥无效或已经撤销paid_quota_required402账号没有可供 API 消耗的付费额度insufficient_quota402余额不足以覆盖整批最大消耗idempotency_conflict409同一幂等键提交了不同请求体batch_processing409原批次仍在处理batch_too_large400整批原文超过 10,000 字invalid_platform400发布平台不在产品支持列表内batch_context_too_large400整批参考风格和真实补料超过 10,000 字request_too_large413请求体超过 128KBbatch_recovery_failed500异常批次无法自动恢复且系统已阻止重复扣费processing_timeout条目级该篇超时且未扣额度替换 API Key 和正文后即可运行;生产重试时沿用原来的 Idempotency-Key。
curl --request POST 'https://prosemend.com/api/v1/rewrite' \
--header 'Authorization: Bearer sk_qg_你的密钥' \
--header 'Idempotency-Key: batch-20260712-001' \
--header 'Content-Type: application/json' \
--data '{
"items": [
{"clientReference":"article-001","text":"需要清稿的第一篇原文","scenario":"自动判断"},
{"clientReference":"article-002","text":"需要清稿的第二篇原文","platform":"公众号"}
]
}'import requests
response = requests.post(
"https://prosemend.com/api/v1/rewrite",
headers={
"Authorization": "Bearer sk_qg_你的密钥",
"Idempotency-Key": "batch-20260712-001",
},
json={"items": [
{"clientReference": "article-001", "text": "第一篇原文"},
{"clientReference": "article-002", "text": "第二篇原文", "platform": "公众号"},
]},
timeout=180,
)
response.raise_for_status()
print(response.json())const response = await fetch("https://prosemend.com/api/v1/rewrite", {
method: "POST",
headers: {
"Authorization": "Bearer sk_qg_你的密钥",
"Idempotency-Key": "batch-20260712-001",
"Content-Type": "application/json",
},
body: JSON.stringify({ items: [
{ clientReference: "article-001", text: "第一篇原文" },
{ clientReference: "article-002", text: "第二篇原文", platform: "公众号" },
]}),
});
console.log(await response.json());