AI 智能排版 — 将原始文本自动排版为精美的小红书卡片
适合逐篇操作、即时预览和下载图片。
新用户可关注 极客狐🦊 免费领取 10 次试用 Key;如需更多额度请到 套餐页面购买( 9.9 / 19.9 / 99 元起)。Key 格式为 tc_live_xxx...。
打开 网页编辑器,在右侧「API 密钥」面板中输入您的 API Key 并点击保存,可顺手测试剩余额度。
在左侧编辑区粘贴原始纯文本内容,点击「AI 智能排版」按钮。排版完成后,右侧会实时预览最终生成的图片效果;如需撤销,可点击「撤销」按钮恢复原文。
**文本** 表示加粗,只改变字重,颜色保持正文色,适合普通关键词。==文本== 表示高亮,会使用模板强调色或高亮底色,只建议用于关键结论、数字、风险和转折点。*文本* 表示斜体,适合轻提示;AI 排版接口不会主动生成斜体。--- 表示强制分页时需要独立成段,前后留空行;紧贴上一行正文会按 Markdown 标准变成二级标题。上一页正文
---
下一页正文
适合多篇文案批量自动排版,无需逐条手动操作。
多维表格结构和所有记录。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 | 必填 | 原始文本,上限 10000 非空白字符 |
template | string | 可选 | 模板 ID,默认 blank |
config | object | 可选 | 覆盖模板样式的键值对,例如 {"fontSize": 16, "bgColor": "#fafafa"} |
model | string | 可选 | 指定 AI 模型,不填则使用系统默认;非默认模型需 debug_token |
| 字段 | 说明 |
|---|---|
markdown | 返回的排版后 Markdown 字符串 |
template | 本次使用的模板 ID |
model_used | 本次实际使用的模型 key |
editor_url | 通过 Hash Base64 携带状态的完整编辑器 URL |
batches_used | 本次请求消耗的 LLM 批次数 |
所有状态为 200 的请求,都会在返回的首部包含额度消耗信息:
| Header | 说明 |
|---|---|
X-Balance-Remaining | 该 Key 剩余可用批次(batches) |
X-Usage-Count | 该 Key 累计消耗的批次 |
X-Batches-Used | 本次请求消耗的批次数 |
X-Daily-Usage | 今日已使用批次数 |
X-Daily-Limit | 每日批次上限 |
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 的额度与状态,返回 balance、usage_count、plan_type、daily_usage_count、daily_limit、expires_at 等字段。GET /api/templates : 获取所有可用模板的列表。| HTTP | error 字段 | 说明 |
|---|---|---|
| 400 | invalid_json | 请求体 JSON 格式错误 |
| 400 | missing_param | text 字段缺失 |
| 401 | unauthorized | 缺少、无效、已过期或余额不足的 API Key |
| 429 | rate_limit | 超出每日调用限额 |
| 500 | ai_error | 底层 AI 服务异常 |
| 500 | internal_error | 服务端内部错误 |