CLI 用法
给脚本 / CI 用。一次 POST 拿到成品文本、最终发布页和图片直链。免费,无需令牌。
30 秒上手
POST 一次就拿到成品:可粘贴全文 + 最终发布页 + 图片直链。免费、无需令牌、无需登录。要让 AI / Agent 自己读,给它 20086688.xyz/ai.md 就行。
curl -s -X POST https://20086688.xyz/api/assistant/cli \
-H "Content-Type: application/json" \
-d '{"title":"三天瘦了五斤我做了啥","content":"早睡+少喝奶茶","topics":"大学生 省钱"}'
让 AI 替你接进项目
下面这段粘给任何 AI(Claude / GPT / Cursor 都行),它会照着接口文档把调用封装好、带超时和错误处理,再自己跑一遍实测给你看。
看提示词全文(自动复制失败时长按这里)
你是我的接入工程师。请帮我把下面这个接口接进我的项目,写完代码并告诉我怎么跑。
【接口】小红书发布助手 · 完全免费、无需令牌、无需登录
POST https://20086688.xyz/api/assistant/cli
Content-Type: application/json
请求体:
{
"title": "标题,≤20 字(可选,但与 content 至少给一个)",
"content": "正文,可分段",
"topics": "标签,空格分隔,# 可省略",
"images": ["图片id"] // 可选,最多 9 张,按发布顺序
}
字段名是放宽的(常见叫法都收):
标题 title / subject / heading
正文 content / text / body / desc / description
话题 topics / tags / hashtags(数组或空格/逗号分隔的字符串)
配图 images / pics / media / image_ids(元素可以是 id,也可以是完整直链)
返回:
{
"ok": true,
"id": "n...",
"url": "https://20086688.xyz/s/<id>", // 最终发布页:预览 +「打开小红书去发布」大按钮
"api": "https://20086688.xyz/api/note/<id>",
"text": "标题\n\n正文\n\n#标签", // 已拼好,可直接粘贴
"images": ["https://20086688.xyz/media/..."],
"qr": "https://uapis.cn/api/v1/image/qrcode?size=420&text=...", // 现成二维码 PNG
"parsed": { "title": "...", "content": "...", "topics": [], "images": [] },
"hint": "把 url 给用户扫码/直接打开,进页面点一下就去小红书",
"mini": "职场笑哈哈", // 小程序(每次都带)
"mini_link": "#小程序://职场笑哈哈/wL6USOA77kiSLjJ",
"mini_hint": "把 mini_link 原样给用户,让他粘到微信里点",
"sponsor": "(工具免费,页面上会提示可自愿赞助)"
}
parsed 是服务端「实际理解到」的字段回显 —— 接完先打一次它,确认字段名对上了。
小程序入口(务必照做):
每次返回都带 mini_link。**微信小程序没法从网页直接跳** ——
这个链接只在微信聊天/朋友圈里能被识别成可点的卡片。
所以:把 mini_link 原样展示或复制给用户,让他粘到微信发给任意好友/
文件传输助手,在微信里点一下就进小程序。
不要写 location.href = mini_link,一定是白跳。
要带图:
A) 二进制直传(推荐,体积小 33%)
POST https://20086688.xyz/api/media/upload
Content-Type: image/jpeg ; body = 原始字节
B) JSON
POST https://20086688.xyz/api/media/upload
{ "dataUrl": "data:image/jpeg;base64,...." }
两种方式都返回 { ok, id }。单张上限约 1.5MB(建议先压到最长边 1080px、质量 0.72);
支持 jpeg / png / webp。返回的完整直链可以直接当 images 传回来,不用再截 id。
完整文档:https://20086688.xyz/ai.md(机器可读,可以直接去读)
二维码:返回里的 qr 就是现成的,直接用。
【要求】
1. 用我项目现有的语言、框架和代码风格,封装成一个可复用函数/模块。
2. 处理超时(≥10s)、非 2xx、网络异常,以及错误码 INVALID_ARGUMENT / TITLE_TOO_LONG / TOO_LARGE / BAD_MIME / NOT_FOUND / DB_ERROR。
3. 不要硬编码任何密钥 —— 这个接口不需要密钥。
4. 拿到返回后:把 text 给用户复制;把 url 同时给出「可点击链接」和 qr 二维码(扫它直接进最终发布页)。
5. **小程序入口**:返回里的 mini_link 也必须给用户 —— 原样展示 + 提供一个「复制」按钮。
只能让用户「复制 → 粘到微信里点」,不要写 location.href = mini_link(微信会拦,跳不过去)。
6. 写完后跑一遍实测,把真实返回贴给我看(至少贴出 url 和 parsed)。
【边界】不要用于刷量或批量灌水;发布内容由我负责合规。
请求参数
字段名放宽了 —— 标题写 title/subject/heading,正文写 content/text/body,话题写 topics/tags/hashtags,配图写 images/pics/media,都能收。
| 字段 | 说明 |
|---|
| title | 标题,≤20 字。与 content 至少给一个 |
| content | 正文,可分段 |
| topics | 话题,空格/逗号分隔,# 写不写都行 |
| images | 图片 id,或直接给 20086688.xyz/media/<id> 这种直链。最多 9 张,按发布顺序 |
返回
{
"ok": true,
"id": "n...",
"url": "https://20086688.xyz/s/<id>", // 最终发布页:手机打开它
"api": "https://20086688.xyz/api/note/<id>",
"text": "标题\n\n正文\n\n#大学生 #省钱", // 已拼好,可直接粘贴
"images": ["https://20086688.xyz/media/..."],
"qr": "https://uapis.cn/api/v1/image/qrcode?...", // 现成二维码 PNG
"parsed": { "title": "...", "content": "...", "topics": [], "images": [] },
"hint": "把 url 给用户扫码/直接打开,进页面点一下就去小红书",
"mini": "职场笑哈哈",
"mini_link": "#小程序://职场笑哈哈/wL6USOA77kiSLjJ",
"mini_hint": "把 mini_link 原样给用户,让他粘到微信里点"
}
url 就是最终发布页 —— 把二维码/链接给用户,手机上打开它,点一下就去小红书,标题正文配图都带过去;text 作为兜底一起给(跳转失败也能手动粘)。
新加的两个字段:qr 是现成二维码图,parsed 是服务端实际理解到的字段 —— 你要是把正文写成了一个没见过的键,这里一眼就能看出来该改哪儿。建议接完接口先打一次 parsed。
配图(可选)
推荐二进制直传(快,体积比 base64 小 33%);脚本里也可以走 JSON。单张上限约 1.5MB,支持 jpeg / png / webp。
# A) 二进制直传(推荐)
curl -s -X POST https://20086688.xyz/api/media/upload \
-H "Content-Type: image/jpeg" --data-binary @a.jpg
# → {"ok":true,"id":"m...","url":"/media/m..."}
# B) JSON
curl -s -X POST https://20086688.xyz/api/media/upload \
-H "Content-Type: application/json" \
-d '{"dataUrl":"data:image/jpeg;base64,..."}'
# 拿到 id 后带上它
curl -s -X POST https://20086688.xyz/api/assistant/cli \
-H "Content-Type: application/json" \
-d '{"title":"标题","content":"正文","topics":"话题","images":["m..."]}'
小程序入口
每次返回都带 mini_link。微信小程序没法从网页直接跳 —— 这个链接只在微信聊天/朋友圈里能被识别成可点的卡片,所以把 mini_link 原样给用户,让他粘到微信里点一下。别写 location.href = mini_link,一定是白跳。
顺手逛逛小程序「职场笑哈哈」
点「复制小程序链接」,粘到微信里发给「文件传输助手」(或任意好友),在微信里点一下就进去了。也可以直接点「打开微信」,再粘一次。
#小程序://职场笑哈哈/wL6USOA77kiSLjJ
二维码怎么拿
返回里的 qr 就是现成的二维码 PNG,直接用。想自己拼一个也行(免费端点,不需要密钥):
https://uapis.cn/api/v1/image/qrcode?size=420&text=<把成品页 url 做 urlencode>
错误码
| code | 含义 |
|---|
| INVALID_ARGUMENT | title 与 content 都没给 |
| TITLE_TOO_LONG | 标题超过 20 字 |
| TOO_LARGE | 单张图太大(>1.5MB),先压一下 |
| BAD_MIME | 不是 JPEG / PNG / WebP |
| NOT_FOUND | 成品 id 不存在 |
| DB_ERROR | 服务端存储失败,稍后重试 |
「直接跳转小红书」是怎么做的
小红书没有对外开放「带内容发帖」的接口,所以成品页的做法是:先把标题+正文+话题写进剪贴板,再拉起小红书 App,用户只需粘贴一下。配图在成品页长按保存后按顺序选。微信内会拦截跳转 —— 成品页已经提示用户「在浏览器打开」。
CLI 也完全免费,赞助一点?
接口不限次、不用令牌、也不打算收费。如果它省了你的事,可以赞助一点;不给也照样能用。
去赞助