交互式 API 参考
完整接口、参数与响应 schema + 在线调试(try-it-out),随后端自动同步。
获取 API 密钥
登录后进入「系统设置 → API 密钥」生成,密钥仅显示一次。
鉴权
所有请求在 Header 携带你的密钥:
请求示例
curl https://www.alqq.cn/api/openapi/v1/accounts \
-H "Authorization: Bearer mk_live_你的密钥"发布前先预检
先查配额、账号可发布状态和执行端在线状态,再提交发布,可避免大多数 403 / 409 / 422。
请求示例
# 1) 查权限和 web / desktop / edge / cms 独立配额
curl https://www.alqq.cn/api/openapi/v1/me \
-H "Authorization: Bearer mk_live_..."
# 2) 只选 publishable=true 的账号
# POST /publish 的 executor 必须等于账号返回的 executor
# desktop / edge 还需 executor_online=true
curl https://www.alqq.cn/api/openapi/v1/accounts \
-H "Authorization: Bearer mk_live_..."
# 3) 需要桌面端或云执行节点时,可进一步查询状态
curl https://www.alqq.cn/api/openapi/v1/execution-nodes \
-H "Authorization: Bearer mk_live_..."账号管理是只读能力
开放 API 不提供账号登录、重新登录、刷新 Cookie、绑定、解绑或删除接口。publishable=false 时,请到 ALQQ Web 或 Windows 桌面端的「账号管理」查看原因并处理。
支持的平台与 CMS
当前共 24 个接入项:22 个内容平台 + 2 个 CMS,其中 19 个内容平台支持视频发布。下表仅列出已开放的文章与视频 API 能力;支持某种内容不代表任意执行端均可使用。
platform 代码用于账号筛选和请求中的 platforms。实际发布建议从 GET /accounts 返回的账号 id 组装 accountIds,并检查账号状态、执行端及平台发布预设。动态发布尚未提供独立 OpenAPI 端点,不能仅凭平台支持动态就调用未开放接口。程序可通过
GET /meta 的 publish.platforms 获取完整目录,包括 id、name、category、content_types、article_executors、video_executors 和 video_sources;视频来源仅为 local_file。GET /accounts 只返回当前用户已添加的账号,不是完整平台目录。视频发布:区分普通页面与 OpenAPI
普通用户页面的视频发布仅支持桌面端,不只是 YouTube
Web 页面不提供视频上传或共享云端视频发布。OpenAPI 也只接收执行器本地文件,不代下载远程视频或视频封面;请自行准备素材。已授权、已绑定的在线 edge 节点需额外满足本地文件能力与安全目录要求,不等于 Web 共享发布能力。
桌面端:
POST /publish/video 使用 executor="desktop",桌面端需在线,账号也须配置为桌面执行。必填 localVideoPath 是实际执行发布的 Windows 电脑上的视频绝对路径;文件必须已存在,不是 API 调用方另一台机器的路径。可选封面 coverImagePath 也须使用该执行电脑上的绝对路径。已授权的云执行节点:OpenAPI 允许
executor="edge",前提是已获得节点使用权限、账号绑定到该节点、节点在线且支持目标平台的视频发布,并上报 capabilities.localVideoFile === 1。需更新到具备本地视频文件能力的节点版本,并显式配置 ALQQ_EDGE_VIDEO_DIR(例如 /data/videos);请将视频及可选封面预先放到 ALQQ_EDGE_VIDEO_DIR/<userId>/ 下,再传该 Linux 节点上的绝对路径,例如用户 123 的 /data/videos/123/video.mp4。执行器会校验安全目录;未配置目录或旧版不具备本地文件能力的节点不可使用。远程素材:
videoUrl 和视频封面的 coverImageUrl 已弃用,任何非空值均被拒绝,即使同时传入本地路径也不接受。请自行下载或生成素材后再提交;视频和封面仍会上传至目标发布平台,只是不经 ALQQ 主站中转。文章图片处理不受此变更影响。YouTube:仍仅支持
desktop 视频发布,不支持文章 API,也不支持 edge 执行,尚未开放 Linux 节点发布。TikTok 同样不支持文章 API;其他平台能力见上表。Web 执行端:视频请求不支持
executor="web"。调用 GET /video/meta 查询当前视频平台与专属参数;提交前仍需校验账号和执行端。CMS 站点接入与文章发布
PbootCMS 站点、InnoShop 站点 均只支持文章。先在自己的站点安装对应插件,再到 ALQQ「账号管理」配对站点并配置栏目与发布预设。OpenAPI 不提供站点配对或插件配置接口。
请求示例
# CMS 站点也由 GET /accounts 返回;选择已配对、publishable=true 的站点 ID
# ARTICLE_ID 来自文章生成或导入;将示例 123 替换为 GET /accounts 返回的真实站点账号 id
curl -X POST https://www.alqq.cn/api/openapi/v1/publish \
-H "Authorization: Bearer mk_live_..." \
-H "Content-Type: application/json" \
-H "Idempotency-Key: cms-20260912-001" \
-d '{"articleId":"ARTICLE_ID","executor":"web","accountIds":[123]}'
# → { "batch_id": 88, "jobs": [...] }
# 用 GET /publish/BATCH_ID 查询各站点结果CMS 复用
POST /publish,并非另一套 CMS 发布接口;请求执行端为 web,由服务端调用站点插件,不占用桌面浏览器。仍需 API 密钥的 publish 权限、套餐 CMS 权限和独立的 cms 发布额度;不要把 CMS 额度当作普通 Web 发布额度。端点一览
下面是常用端点速览;完整参数、响应 schema 与在线调试请看 交互式 API 参考 →。
只调用规范列出的路径
OpenAPI 规范是唯一接口清单,请勿根据命名猜测
/accounts/:id/refresh、DELETE /articles/:id、/images/upload 等未开放能力。ID 对照:四种 ID 不能混用
示例:生成并轮询
请求示例
# 1) 发起生成
curl -X POST https://www.alqq.cn/api/openapi/v1/articles/generate \
-H "Authorization: Bearer mk_live_..." \
-H "Content-Type: application/json" \
-d '{"customTopic":"夏季香料怎么选","style":"soft-article","wordCount":1000}'
# → { "task_id": "..." }
# 2) 每 2–5 秒轮询;收到 429 按 Retry-After 等待
curl https://www.alqq.cn/api/openapi/v1/articles/generate/TASK_ID \
-H "Authorization: Bearer mk_live_..."
# → { "status":"done", "article_id":"...", "title":"..." }AI 内容来源与标识
展示、复制和再次发布时保留 aigc 元数据
文章生成、导入、列表和详情响应都会返回
content_provenance 与 aigc。当 aigc.label_required=true 时,请显著展示 aigc.display_label。正文与图片分别标识,不要把图库图、产品图或用户上传图误标成 AI 图片。请求示例
# 导入外部 AI 辅助完成的文章时如实声明来源
curl -X POST https://www.alqq.cn/api/openapi/v1/articles \
-H "Authorization: Bearer mk_live_..." \
-H "Content-Type: application/json" \
-d '{
"title":"文章标题",
"content":"正文 Markdown",
"contentProvenance":"ai_assisted",
"aiProvider":"example-provider",
"aiModel":"example-model",
"aiImageCount":0
}'
# 响应中的 aigc.applies_to 会分别说明 text / images
# aiImageCount 只计算真正由 AI 生成的图片示例:发布并轮询
请求示例
# ARTICLE_ID 必须来自生成结果或 POST /articles
# ACCOUNT_ID 必须来自 GET /accounts
curl -X POST https://www.alqq.cn/api/openapi/v1/publish \
-H "Authorization: Bearer mk_live_..." \
-H "Content-Type: application/json" \
-H "Idempotency-Key: order-20260904-001" \
-d '{"articleId":"ARTICLE_ID","executor":"edge","accountIds":[ACCOUNT_ID]}'
# → { "batch_id": 88, "jobs": [...] }
# BATCH_ID 只能使用上一步返回的 batch_id
# 每 2–5 秒查询一次,到达终态后停止
curl https://www.alqq.cn/api/openapi/v1/publish/BATCH_ID \
-H "Authorization: Bearer mk_live_..."图片和文章修改
图片:暂无独立图片上传接口。导入文章时在 Markdown 中使用
,封面使用 coverImage。更新/删除:开放 API 目前支持文章生成、导入和查询,不支持更新或删除。修改内容时请重新导入,并使用新的 article_id。
可靠调用与故障排查
请保存每次响应的 X-Request-Id
遇到失败或结果异常时,把该请求标识提供给管理员,即可关联到生成任务、文章和发布批次。
请求追踪:所有业务响应都返回
X-Request-Id,包括鉴权失败和限流请求。避免重复发布:调用发布接口时携带唯一的
Idempotency-Key,网络超时重试不会重复创建发布批次。限流处理:每分钟与每日额度按 ALQQ 用户账号共享,增加密钥不会增加总额度。读取
RateLimit-* 和 X-Daily*;收到 429 后按 Retry-After 等待。异步结果:生成和发布可轮询状态接口,也可以在系统设置中配置 Webhook 接收完成或失败通知。
错误结构:统一为
{ "error": { "code", "message" } },程序应优先判断稳定的 code。常见错误与处理方式
示例:读取追踪与限流响应头
请求示例
curl -i https://www.alqq.cn/api/openapi/v1/me \
-H "Authorization: Bearer mk_live_..."
# X-Request-Id: 550e8400-e29b-41d4-a716-446655440000
# RateLimit-Limit: 60
# RateLimit-Remaining: 59
# RateLimit-Reset: 42
# X-DailyLimit: 5000
# X-DailyRemaining: 4874额度与网页/桌面端/云执行节点共用同一套套餐计量,但 web、desktop、edge 与 cms 使用独立的发布额度桶。完整规范可通过 OpenAPI JSON 导入 Apifox 或 Postman。