AI 智能排版 — 将原始文本自动排版为精美的小红书卡片
适合逐篇操作、即时预览和下载图片。
向管理员申请一个专属的 API Key(形如 tc_live_xxx...)。
打开 网页编辑器,在右侧「API / AI排版」面板中输入您的 API Key 并点击保存,可顺手测试剩余额度。
在左侧编辑区粘贴原始纯文本内容,点击「排版当前文案」按钮。排版完成后,右侧会实时预览最终生成的图片效果;如需撤销,可点击「撤销排版」按钮恢复原文。
适合多篇文案批量自动排版,无需逐条手动操作。
多维表格结构和所有记录。Authorization中的 API key 替换成你自己的 key。待排版,触发自动化流程,等待状态自动变成 已完成 则表示排版成功。先在 网页编辑器 中完成以下操作:
您会得到一段类似下面的完整 cURL:
curl -X POST https://xhs-textcard.site/api/format \
-H "Content-Type: application/json" \
-H "Authorization: Bearer tc_live_abc123..." \
-d '{
"text": "{{原始文案}}",
"template": "elegant-book",
"config": {
"fontSize": 15,
"lineHeight": 2.2,
"bgColor": "#F5F5DC",
"textColor": "#333333",
...
}
}'
在飞书中新建一个多维表格,至少包含以下列:
| 列名 | 类型 | 说明 |
|---|---|---|
原始文案 | 文本 | 需要排版的原始内容,会被插入到请求体的 text 字段 |
状态 | 单选 | 固定 3 个选项:待排版 / 已完成 / 失败(新记录默认留空) |
排版结果 | 文本 | 回写接口返回的 markdown |
预览链接 | 超链接 | 回写接口返回的 editor_url |
点击多维表格右上角的「创建自动化流程」:
待排版 时触发。https://xhs-textcard.site/api/formatPOSTHeaders —— 对应 cURL 中 -H 的两行:
| Key | Value |
|---|---|
Content-Type | application/json |
Authorization | Bearer tc_live_替换为你的Key |
Body —— 对应 cURL 中 -d 后面的 JSON:
格式选择 JSON,把 cURL 的 -d 后面花括号 { ... } 整段粘贴即可,{{原始文案}} 需要手动点击+号添加值 -> 【第一步满足条件的记录】 -> 【原始文案】列变量:
"template" 和 "config" — 保持从编辑器复制过来的原值不动,它们决定了最终排版使用哪个模板和哪套样式参数。
Response Body —— 告诉飞书如何解析响应:
在 HTTP 请求节点的「Response Body」中粘贴一段示例 JSON,飞书会据此识别可用的返回字段。您可以直接复制 cURL 测试返回结果,也可以直接复制下面这个例子:
{
"markdown": "# 示例标题\n\n这是排版后的 **Markdown** 内容...",
"template": "elegant-book",
"model_used": "default",
"editor_url": "https://your-domain/editor.html?template=elegant-book#..."
}
markdown、template、editor_url 这些字段,后续在「更新记录」动作里点击 + 号即可引用。
在"发送 HTTP 请求"节点后,继续添加动作「更新记录」:
markdown变量。editor_url变量。已完成,表示这一行已经处理成功。
在飞书调用中,您可以通过 template 参数指定模板风格。如果不传,默认为空白模板 (blank)。
| ID (传参用) | 名称 | 适合场景 |
|---|---|---|
blank | 空白模板 | 万能百搭、极简分享 |
polaroid | 复古拍立得 | 生活记录、文艺情绪 |
notion-style | 效率笔记 | 干货分享、知识整理 |
elegant-book | 书籍内页 | 深度长文、文学摘录 |
ios-memo | 苹果备忘录 | 随记、轻量化沟通 |
swiss-studio | 苏黎世工作室 | 设计分析、艺术评论 |
minimalist-magazine | 极简杂志 | 时尚穿搭、品质生活 |
aura-gradient | 弥散极光 | 年轻潮流、情绪共鸣 |
deep-night | 暗夜深思 | 程序员视角、科技数码 |
pro-doc | 大厂文档 | 职场干货、商业分析 |
cinematic-film | 电影胶片 | 胶片质感、旅行摄影 |
starry-night | 星光质感 | 星空深蓝、治愈系文案 |
以下内容面向有开发能力的用户。如果你只用飞书或编辑器,上面的内容已经够用了。
所有接口需要在 Header 携带认证 Token:
Authorization: Bearer tc_live_xxxxxxxxxxxx
执行正文排版,支持配置自定义参数覆盖。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
text | string | 必填 | 原始文本,上限 1000 字符(小红书笔记场景) |
template | string | 可选 | 模板 ID,默认 blank |
config | object | 可选 | 覆盖模板样式的键值对,例如 {"fontSize": 16, "bgColor": "#fafafa"} |
model | string | 可选 | 指定 AI 模型,不填则使用系统默认;可传具体模型 key |
| 字段 | 说明 |
|---|---|
markdown | 返回的排版后 Markdown 字符串 |
template | 本次使用的模板 ID |
model_used | 本次实际使用的模型 key |
editor_url | 通过 Hash Base64 携带状态的完整编辑器 URL |
所有状态为 200 的请求,都会在返回的首部包含额度消耗信息:
| Header | 说明 |
|---|---|
X-Balance-Remaining | 该 Key 剩余额度(元) |
X-Usage-Count | 该 Key 的历史总调用次数 |
X-Balance-Warning | (仅额度不足时出现)额度预警 |
async function generateTextCard(text) {
const resp = await fetch('https://xhs-textcard.site/api/format', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer tc_live_YOUR_KEY'
},
body: JSON.stringify({
text: text,
template: 'notion-style'
})
});
const data = await resp.json();
if (!resp.ok) {
console.error(`Error: ${data.message} (${data.error})`);
return;
}
console.log('Markdown:', data.markdown);
console.log('Editor UI:', data.editor_url);
}
GET /api/key-info : 获取当前 Key 的额度与状态。GET /api/templates : 获取所有可用模板的列表。| HTTP | error 字段 | 说明 |
|---|---|---|
| 400 | invalid_json | 请求体 JSON 格式错误 |
| 400 | missing_param | text 字段缺失 |
| 401 | unauthorized | 缺少、无效、已过期或余额不足的 API Key |
| 413 | payload_too_large | text 超过 1000 字符 |
| 500 | ai_error | 底层 AI 服务异常 |