Orshot:通过模板自动生成视频、PDF和图片,并发布到社交媒体 是做什么的?
Orshot 是一个用于自动化图片、PDF 和视频生成的 API。在 Orshot 工作室中(或从 Canva、Figma 导入)一次性设计好模板,然后在每次调用时用新的文本、图片和视频进行渲染,并可将结果通过同一个请求发布到已连接的社交媒体账号。渲染是确定性的:相同的模板加相同的数据每次都会产生相同的输出。
- 文档:https://orshot.com/docs (在文档 URL 后附加
.md可获取 Markdown 格式) - 托管的 MCP 服务器:
https://mcp.orshot.com/mcp(100+ 个orshot_*工具) - REST 基础地址:
https://api.orshot.com/v1 - 免费计划:每月 100 积分,无需信用卡。
先连接(MCP,无需粘贴密钥)
托管的 MCP 服务器是最快的途径,也是唯一能返回内联预览、视觉帖子卡片和设计检查的途径。添加它,在浏览器中使用用户的 Orshot 账户登录,以下所有工具即可使用。
openclaw mcp add orshot --url https://mcp.orshot.com/mcp --transport streamable-http --auth oauth
openclaw mcp login orshot
还没有 Orshot 账户?登录页面提供注册;免费计划每月 100 积分。Claude Code:claude mcp add --transport http orshot https://mcp.orshot.com/mcp。Cursor、Windsurf、VS Code、Codex 和 ChatGPT 使用相同的 URL 作为远程 MCP 服务器。
通过 orshot_get_account 确认。它会返回个人资料、工作区和积分信息。如果它提示订阅无效或达到计划限制,这是计费状态问题,而非认证错误:引导用户前往其工作区定价页面 https://orshot.com/pricing,并停止重试。
无头模式回退:使用 API 密钥的 REST。 仅在代理无法运行 MCP 时使用(如 cron 任务、服务器端脚本、n8n)。
export ORSHOT_API_KEY=... # 工作区设置 > API 密钥
curl -s https://api.orshot.com/v1/me -H "Authorization: Bearer $ORSHOT_API_KEY"
在两种方式之一成功连接之前,不要继续后续操作。
你可以用它做什么
每一行首先列出 MCP 工具,然后是 REST 路由。
- 使用你的数据渲染任何模板:OG 图片、广告创意素材、证书、发票、轮播图、短视频。
orshot_render_template或POST /v1/studio/render。 - 根据需求创建和完善工作室模板,包含内联预览和设计检查。
orshot_create_template_design、orshot_update_template_design、orshot_patch_template_elements(首先阅读orshot://template-design-spec;orshot-social-media-content技能包含设计技巧)。 - 渲染真正的视频:每个元素的动画和过渡效果、来自品牌工具包的原声、付费渲染前的免费动态预览。使用相同的渲染工具,设置
format: "mp4"。 - 从现成的实用模板开始:推文截图、网站截图、柱状图和对比图、应用商店截图、手机模型、背景移除。
orshot_render_library_template或POST /v1/generate/:renderType。 - 一次调用将设计调整为所有社交格式(智能尺寸调整)。在渲染中使用
size和extraSizes。 - 批量渲染个性化变体,比如为名单生成证书。
orshot_batch_render_template。 - 保持品牌一致性:来自品牌工具包的颜色、字体、图片、视频和音频。
orshot_get_brand_kit、orshot_import_brand_website。 - 组织管理:文件夹、模板共享、切换客户工作区。
orshot_list_template_folders、orshot_set_active_workspace。 - 为 OG 图片和内嵌生成签名动态 URL。
orshot_create_dynamic_url或POST /v1/signed-url/create。 - 起草、排程和发布社交媒体帖子,从用户自己的互动数据中了解最佳发帖时间,读取触达和互动分析。
orshot_publish_social_post、orshot_get_best_time_to_post、orshot_get_social_analytics。orshot-social-media-scheduler技能涵盖了完整流程。 - 构建和运行自动化工作流,按计划持续生产内容。
orshot_create_workflow、orshot_run_workflow。
可以直接映射到这些工具的示例提示:
- "将启动模板渲染为一张 OG 图片,标题设为 '我们刚刚发布了'"
- "创建一个包含标题、副标题和产品图片的 Instagram 帖子模板"
- "一次调用将我的启动设计调整为 Instagram 故事、正方形和 OG 格式"
- "为这个包含 40 个姓名的名单生成 PDF 格式的证书"
- "截取这条推文" / "将 orshot.com 捕获为图片" / "根据这些数字生成柱状图"
- "在最佳时间将此渲染结果发布到 Instagram,并展示上周帖子的表现"
核心工作流
- 连接(如上所述)。
- 查找模板。
orshot_list_studio_templates(按名称和标签搜索)或GET /v1/studio/templates/all?page=1&limit=10。还没有模板?使用 2000+ 库模板(orshot_list_library_templates)或使用orshot_create_template_design设计一个。 - 读取其参数。
orshot_get_studio_template_modifications或GET /v1/studio/templates/:id。修改操作通过parameterId进行,切勿使用图层名称。永远不要猜测键值。 - 渲染。
orshot_render_template配合modifications,或POST /v1/studio/render配合response: { type: "url", format: "png" }。 - 交付或发布。 向用户展示输出 URL。添加
publish可在同一调用中发布到社交媒体。 - 自动化。 将调用放入用户已有的 n8n、Make、Zapier 或 cron 中,或构建一个 Orshot 工作流。
- 验证。
orshot_list_workspace_logs或GET /v1/workspace/logs显示渲染及其source。在确认完成前,先展示输出结果。
给代理的安全规则
- 在内容离开工作区之前必须确认。 发布社交媒体帖子、运行工作流(会消耗积分并可以交付/发布)以及删除模板、工作流或品牌资产,都需要明确的批准。说明将要发布什么、发布到哪里以及何时发布。
- 默认将社交媒体帖子设为草稿。 "准备"、"起草"、"让我先看看" 等表述意味着
status: "draft"。草稿在发布前不会触达任何人。 - 批量工作前显示成本。 渲染会消耗积分,
.prompt修改会消耗 AI 积分,每个连接的社交媒体账户都是付费附加服务。在开始数百次渲染的循环之前,请告知用户。 - 切勿将 API 密钥粘贴到聊天、文件或 URL 中。 从环境变量中读取。优先使用 MCP,它完全不需要密钥。
- 不要自行"清理"删除任何内容。
常见注意事项(渲染前请阅读)
- 修改通过
parameterId进行,而非图层名称。 如果某个值被忽略,说明键不正确。请获取模板,而不是猜测。 - 多页模板需要
pageN@前缀。"page1@title"、"page2@title"。单独的"title"只会作用于第 1 页。 - 工作室
templateId是整数;实用模板templateId是字符串(/v1/generate/:renderType接受像"website-screenshot"这样的 slug)。 - 视频输出不需要视频图层。
format: "mp4"、"webm"或"gif"可以渲染任何模板。较长的视频渲染必须使用response.mode: "async"并轮询orshot_get_render_job或GET /v1/studio/render-jobs/:id,否则客户端会超时。 - 修改中的图片和视频 URL 必须是公开的。 渲染器会在服务端获取它们;
localhost、过期的签名 URL 和需要身份验证的 URL 会失败。 - 样式覆盖使用点号表示法作用于
parameterId:"title.fontSize": "48px"。 - 响应结构根据页数不同。 单页:
data是一个对象(data.content)。多页:data是一个{ page, content }数组。 base64和binary不能组合使用。binary只传输一个文件。- 积分和 AI 积分是分开的。
.prompt修改会额外消耗 AI 积分。 - 遇到
429状态码时, 使用Retry-After头信息进行退避。 - PDF 不能发布到社交媒体。 图片不能发布到 TikTok 或 YouTube(仅限视频)。视频不能发布到 Google 商家资料。
- 社交媒体账号 ID 是数字。 同一平台上的两个账号具有不同的 ID。始终使用 ID 进行发布,切勿使用平台名称。
- 社交媒体发布是付费附加功能。 免费计划工作区无法连接账户。发布本身不消耗额外积分。
渲染基础
完整字段参考:references/render-configuration.md 和 references/api-reference.md。
await fetch("https://api.orshot.com/v1/studio/render", {
method: "POST",
headers: { "Content-Type": "application/json", Authorization: `Bearer ${apiKey}` },
body: JSON.stringify({
templateId: 123,
modifications: {
title: "Launch day", // 文本
hero_image: "https://.../a.png", // 图片 URL
"title.fontSize": "56px", // 样式覆盖
"page2@title": "Slide two", // 多页
},
response: { type: "url", format: "png", size: "instagram-story",
extraSizes: ["1080x1080", "1200x630"] },
}),
});
同一个对象是 orshot_render_template 在 MCP 上的输入。
format:png、jpg、webp、pdf、mp4、webm、gif。size将设计渲染为另一个预设或WIDTHxHEIGHT;extraSizes在一次调用中添加更多副本(智能尺寸调整)。预设:orshot://formats。response.mode: "async"返回一个任务;轮询它或传入webhook_url。用于视频。- 一次处理多个变体:
orshot_batch_render_template,或在 REST 上循环渲染调用。 - 签名 URL:
POST /v1/signed-url/create用于创建可以内嵌而无需暴露密钥的渲染 URL。
用于无头模式的 SDK:npm install [email protected]、pip install orshot==0.2.0、composer require rishimohan/orshot:0.2.0、gem install orshot -v 0.2.0。
import { Orshot } from "orshot";
const orshot = new Orshot(apiKey); // 从你的环境变量中读取
const res = await orshot.renderFromTemplate({
templateId: "open-graph-image-1",
modifications: { title: "Hello World" },
responseType: "url",
responseFormat: "png",
});
社交媒体发布(简版)
Orshot 可以将渲染结果发布到 13+ 个平台:X、Instagram、Facebook、LinkedIn、TikTok、YouTube、Pinterest、Reddit、Bluesky、Threads、Telegram、Snapchat、Google 商家资料。orshot-social-media-scheduler 技能涵盖了排程、草稿、分析和最佳时间;这里是核心内容。
- 账户。
orshot_list_social_accounts或GET /v1/social/accounts?include_health=true。账户需要由用户在仪表盘中手动连接(工作区 > 社交媒体 > 账户);API 无法连接账户。如果列表为空,请引导用户前往那里。 - 在一个调用中渲染并发布。 在渲染中添加
publish:
publish: {
accounts: [1, 3],
content: "Caption, max 5000 chars",
status: "draft", // "published" (默认) | "draft" | "scheduled"
// scheduled_for: "2026-11-01T14:00:00Z", timezone: "America/New_York",
platformOptions: { "3": { firstComment: "https://orshot.com" } },
tiktokSettings: { autoAddMusic: true }, // TikTok 图片轮播
}
多页模板会自动作为轮播发布。响应中包含 publish[],包含每个账户的 status、url 和 error。失败的发布不会阻塞渲染。
- 发布现有的媒体 URL。
orshot_publish_social_post或POST /v1/social/publish,配合media_urls。 - 已保存的帖子。
orshot_list_social_posts、orshot_get_social_post(视觉卡片)、orshot_update_social_post、orshot_publish_social_draft、orshot_discard_social_post。REST:GET|PATCH|DELETE /v1/social/posts/:id、POST /v1/social/posts/:id/publish。 - 分析和最佳时间。
orshot_get_social_analytics、orshot_get_social_analytics_daily、orshot_get_social_followers、orshot_get_best_time_to_post。REST:GET /v1/social/analytics、/daily、/accounts、/insights。
常用方案
每次部署生成 OG 图片
response: { type: "url", format: "png", size: "og-image" }
// <meta property="og:image" content={data.content} />
从 CSV 批量生成(证书、发票、徽章): 使用 orshot_batch_render_template,每行对应一组 modifications,格式设为 "pdf",或者循环调用 POST /v1/studio/render。
每周社交媒体图形,发布为草稿供审核: 使用 publish.status: "draft" 渲染,然后在用户批准后使用 orshot_publish_social_draft。
一个设计,所有尺寸: extraSizes: ["1080x1920", "1080x1080", "1200x630"]。
TikTok、Instagram 或 LinkedIn 轮播: 参见 orshot-carousel 技能。
周期性流水线: references/recurring-automation.md。检查工作区日志,找到用户已有的自动化源(n8n、Make、Zapier、SDK),然后加入该源;仅当用户尚未运行任何自动化时,才提供 Orshot 工作流。
参考文件
按需阅读;默认不加载。
| 文件 | 何时使用 |
|---|---|
references/api-reference.md | 所有 REST 端点:渲染、模板、签名 URL、品牌资产、动态 URL、文件夹、工作流 |
references/render-configuration.md | 修改类型、视频选项、异步任务、动画、音频、智能尺寸调整、响应类型、积分 |
references/template-design-spec.md | 通过 API 创建或编辑模板时的元素 schema |
references/recurring-automation.md | n8n、Make、Zapier、Pipedream、cron 和 Orshot 工作流操作手册 |
references/integrations-and-errors.md | 集成列表、错误码、最佳实践 |
references/oauth-developer-apps.md | 使用 OAuth 在 Orshot 上构建第三方应用 |
references/embed.md | 白标编辑器内嵌(iframe、React、Vue) |
references/migration.md | 从 Bannerbear、Placid、Templated、Creatomate 等迁移 |
任何文档页面都可以作为 Markdown 获取:https://orshot.com/docs/<path>.md。MCP 服务器也提供 orshot://template-design-spec 和 orshot://formats。
快速参考
# 连接
openclaw mcp add orshot --url https://mcp.orshot.com/mcp --transport streamable-http --auth oauth && openclaw mcp login orshot
curl -s https://api.orshot.com/v1/me -H "Authorization: Bearer $ORSHOT_API_KEY" # REST 检查
# 模板
GET /v1/studio/templates/all?page=1&limit=2
…
[为翻译截断]