API 文档
详细的 API 接口文档和参数说明
概述
小红书内容发布工具提供简单易用的 RESTful API 接口,让开发者能够通过程序化方式创建小红书内容分享。 用户通过 API 提交内容后,系统会生成二维码,扫码即可在移动端发布到小红书。
基础 URL
https://www.myaibot.vip协议
HTTPS认证
Bearer Token格式
JSON认证
所有 API 请求都需要在请求体中包含有效的 API Key:
JSON请求体示例
{
"api_key": "YOUR_API_KEY",
"type": "normal",
...
}获取 API Key
在 用户中心 的 "API Key 管理" 页面生成新的 API Key
发布内容到小红书
POST
/api/rednote/publish提交要发布的笔记内容,系统生成分享二维码。要求资源 URL 必须是可公开访问的在线地址。
POST
/api/rednote/publish-with-upload推荐扫码把图片和视频等内容快速、安全地发布到小红书平台。 内置转存功能,无需自己对接 OSS,自动将 AI 生成的临时链接图片或视频上传并生成公开链接,让发布更稳定可靠。
优势:自动转存 · 秒速上传 · 无需对接 OSS,消耗 2 次 调用次数
请求参数
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
type | 是 | String | 笔记类型:normal (图文) 或 video (视频) |
title | 否 | String | 笔记标题,限制 20 字符(中文占 1 个,英文/数字占 0.5 个) |
content | 否 | String | 笔记文字内容,支持换行 |
images | 否 | Array | 图片 URL 数组,当 type 为 normal 时必传 |
video | 否 | String | 视频 URL,当 type 为 video 时必传 |
cover | 否 | String | 视频封面 URL,当 type 为 video 时可选 |
请求示例
图文笔记
JSON
{
"type": "normal",
"title": "美食分享",
"content": "今天做了一道美味的菜\n大家觉得怎么样?",
"images": [
"https://picsum.photos/400/400?random=1",
"https://picsum.photos/400/400?random=2"
]
}视频笔记
JSON
{
"type": "video",
"title": "旅行日记",
"content": "今天的旅行真的太棒了!",
"video": "https://rednote-publish.oss-cn-hangzhou.aliyuncs.com/public/02-AI-NM.mp4",
"cover": "https://picsum.photos/400/400?random=99"
}响应参数
| 字段 | 类型 | 说明 |
|---|---|---|
id | String | 笔记 ID |
url | String | 分享页面 URL |
qrcode | String | 二维码图片 URL |
响应示例
成功响应
HTTP 200JSON
{
"success": true,
"data": {
"id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"url": "https://www.myaibot.vip/rednote/publish/f47ac10b-58cc-4372-a567-0e02b2c3d479",
"qrcode": "https://www.myaibot.vip/api/qrcode/f47ac10b-58cc-4372-a567-0e02b2c3d479.png"
}
}错误响应
HTTP 400JSON
{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "参数验证失败",
"details": {
"type": "笔记类型必须是 normal 或 video",
"images": "图文笔记必须提供图片"
}
}
}错误码说明
| 错误码 | HTTP 状态码 | 说明 |
|---|---|---|
INVALID_API_KEY | 401 | API Key 无效或已过期 |
INSUFFICIENT_BALANCE | 402 | 调用次数不足 |
VALIDATION_ERROR | 400 | 请求参数验证失败 |
RATE_LIMIT_EXCEEDED | 429 | 请求频率超限 |
INTERNAL_ERROR | 500 | 服务器内部错误 |
使用限制
| 限制项 | 限制 |
|---|---|
| 调用频率 | 每分钟 60 次请求 |
| 图片数量 | 图文笔记最多 18 张 |
| 图片大小 | 单张最大 32MB |
| 图片格式 | 支持 PNG、JPG、JPEG、WEBP(不支持 GIF 和 Live Photo) |
| 图片分辨率 | 不低于 720×960 像素 |
| 视频数量 | 视频笔记仅支持 1 个视频 |
| 视频时长 | 60 分钟以内 |
| 视频大小 | 最大 20GB(建议控制在较小体积,过大会导致发布等待时间很长) |
| 标题长度 | 最大 20 字符(中文占 1 个,英文/数字占 0.5 个) |
| 正文长度 | 最大 1000 字符(中英文均按 1 个字符计算) |
代码示例
cURL命令行示例
curl -X POST https://www.myaibot.vip/api/rednote/publish \
-H "Content-Type: application/json" \
-d '{
"api_key": "YOUR_API_KEY",
"type": "normal",
"title": "美食分享",
"content": "今天做了一道美味的菜\n大家觉得怎么样?",
"images": [
"https://picsum.photos/400/400?random=1",
"https://picsum.photos/400/400?random=2"
]
}'JavaScript使用 axios 库
const axios = require('axios');
async function publishToXiaohongshu(data) {
try {
// 确保数据中包含api_key
const requestData = {
api_key: 'YOUR_API_KEY',
...data
};
const response = await axios.post('https://www.myaibot.vip/api/rednote/publish', requestData, {
headers: {
'Content-Type': 'application/json'
}
});
console.log('发布成功:', response.data);
return response.data;
} catch (error) {
console.error('发布失败:', error.response?.data || error.message);
throw error;
}
}Python使用 requests 库
import requests
import json
def publish_to_xiaohongshu(data):
url = 'https://www.myaibot.vip/api/rednote/publish'
headers = {
'Content-Type': 'application/json'
}
# 确保数据中包含api_key
request_data = {
'api_key': 'YOUR_API_KEY',
**data
}
try:
response = requests.post(url, json=request_data, headers=headers)
response.raise_for_status()
result = response.json()
print('发布成功:', result)
return result
except requests.exceptions.RequestException as e:
print('发布失败:', e)
raise