快速开始
替换 YOUR_KEY 为你申请到的 Key,直接发起首个请求:
# 提交候选池,选出今天要做的 N 条 curl -X POST https://skyaibi.com/v1/topics/rank \ -H "X-API-Key: YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{"label": "企业AI落地日报", "positioning": "把 AI 领域新进展翻译成企业能用上的话", "banned_topics": ["政治敏感", "娱乐八卦"], "candidates": [{"title": "…", "url": "https://…", "published": "2026-10-04 09:20", "body": "正文全文…"}], "want": 4}' # 响应 {"ok": true, "selected": [{"index": 3, "event": "某公司被收购", "angle": "从外包预算角度切入", "score": {"timeliness": 8, "relevance": 9, "speakability": 8, "differentiation": 7}, "has_body": true, "body_chars": 862}], "rejected": [{"index": 0, "reason": "与账号定位不符"}]}
示例参数为示意,正式字段与枚举值以 OpenAPI 3.1 规范为准(下方可下载,可直接导入 Apifox / Postman)。
鉴权与调用约束
- 单次候选上限 300 条;实际送入模型打分的前 45 条,请把最有时效性的排在前面
- 候选的 body 字段(正文全文)是打分质量的关键:有正文(≥200 字)的条目会被优先推荐,并在响应中以 has_body / body_chars 标出——下游写稿依赖正文,正文缺失会导致内容无事实依据
- 模型会为每条入选项输出 event(≤12 字的事件概括),可用于同事件合并与跨批次去重
- 禁用题材(banned_topics)为硬门槛,命中直接剔除,不会进入打分比较
- 限频规则:免费额度内默认 10 次/分钟,超限返回 429
接口清单
| 方法 | 路径 | 说明 |
|---|---|---|
| POST | /v1/topics/rank | 四维打分,返回入选与淘汰清单 |
| GET | /v1/topics/dimensions | 获取评分维度定义与权重说明 |
错误码
| code | 含义 | 处理建议 |
|---|---|---|
| 40001 | 无效 API Key | 检查 X-API-Key 是否正确、是否已开通 |
| 40002 | 免费额度用尽 | 升级套餐或联系商务扩容 |
| 422 | 参数缺失/不合法 | 按错误信息中 field 字段修正请求体 |
| 429 | 触发限频 | 降低调用频率,参考 Retry-After 响应头 |
| 500 | 服务内部错误 | 稍后重试,持续失败请联系我们 |
| 422 | candidates_empty | 候选列表为空或超过 300 条 |
规范与申请
FAQ
常见问题
打分维度是怎么定的?
四维:时效性(越新越好,超 48 小时明显减分)、相关度(与账号定位和偏好选题的契合度)、可口播性(能否用 30-45 秒讲清、有无具体事实与数字支撑)、差异化(硬资讯还是转载炒冷饭)。四维等权综合,不是简单加总。
同事件去重是怎么做的?
不靠标题字面相似度——实测中文标题同义改写后共享连续字极少,正负样本相似度会完全重合。改用模型输出的 event 标签做语义判定,确定性、可解释、无需调参。
为什么要把有正文的条目排前面?
这是从实战里总结的门禁。同一条新闻常有多个来源,短讯没有正文。如果选中短讯,下游写稿只能靠标题+摘要发挥,一旦发布就是编造事实。所以本接口在打分结果里明确标注正文可用性,让下游能拦住这类风险。