关于 Post Engineer
Post Engineer 是通过 Post Engineer 账户管理角色、制作视频和社交帖子用的 MCP 服务。工具涵盖声音与面孔选择、脚本检查、视频生成和帖子排期。
主要功能
- 01创建和更新 AI 角色
- 02浏览并试听声音、查看面孔
- 03验证脚本并评估草稿
- 04生成角色视频并安排帖子
- 05管理克隆声音和媒体上传
适用场景
- 01为社交视频准备角色
- 02在生成视频前检查脚本
- 03制作并安排视频帖子
- 04依据已测量帖子评估草稿
MCP 相关
MCP 服务使用 API 密钥将 Agent 连接到 Post Engineer API,提供角色管理、视频生成、账户信息以及帖子排期或发布工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y post-engineer-mcpPOST_ENGINEER_API_KEY密钥API key from https://post-engineer.com/recipesPOST_ENGINEER_API_URLOverride the API base URL (staging or self-hosted). Defaults to production.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
41收录的工具列表 · 更新于 今天
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| name | string | 是 | persona 的名称 |
| niche | string | 否 | 内容细分领域 |
| images | array | 否 | 最多 10 个属于同一人物的本地图片文件,用于 persona 图片库。每个视频都会根据标签确定性地选择匹配度最高的图片。 |
| voiceId | string | 是 | 要使用的 Voice ID(参见 list_voices) |
| language | string | 否 | 语言代码——目前仅支持英语(例如 en-US、en-GB) |
| avatarUrl | string | 是 | 必填。persona 头像图片的公开 URL(库存头像 URL 请使用 list_faces)。每个 persona 都必须有面孔;可在 generate_persona_video 的 options.faceless 中为单个视频选择“不显示面孔”。 |
| faceQuality | enum | 否 | 渲染视频的面部画质:ok(480p,每个视频消耗 2 个 token)或 very_good(720p,每个视频消耗 3 个 token)ok | very_good |
| videoAspect | enum | 否 | 视频宽高比9:16 | 16:9 |
| videoLayout | enum | 否 | persona 钩子与视频素材的合成方式:"standard" 使用头像填满画面;"react" 将画面分为两半(上方为 persona,下方为视频素材:真实片段或绘图)。两种方式的渲染成本相同。standard | react |
| scriptPrompt | string | 否 | 视频脚本的系统提示词指令 |
| paragraphNumber | integer | 否 | 段落数 |
| imagePrimaryIndex | integer | 否 | 用于标记主要图库图片的 images[] 索引(省略时不设置主要图片) |
详细介绍
Post Engineer MCP 服务
面向 Post Engineer 的公共 MCP(模型上下文协议)服务。它可以让 AI Agent(Claude、Cursor、Codex 和 OpenCode)直接在你的 Post Engineer 账户中创建角色、生成视频、检查生成状态并安排发布。
Post Engineer 根据 Apache License 2.0 版开源(参见仓库根目录中的 LICENSE)。你可以在自己的 VPS 上自托管整个 平台(参见 docs/SELF_HOSTING.md),而不是使用托管平台。唇形同步(LongCat)在 Modal.com 上运行,其 Starter 计划包含每月 30 美元的计算额度(参见 modal.com/pricing)。我们不是 Modal:这项免费额度优惠由 Modal 提供,可能随时结束;超出额度的用量由 Modal 计费。
https://post-engineer.com/ 是什么?
https://post-engineer.com/ 是 Post Engineer 的 Web 平台。你可以用它来:
- 创建账户并登录。
- 创建 AI 角色(头像、语音、语言、细分领域)。
- 使用这些角色生成视频。
- 连接 YouTube / Instagram / LinkedIn / Threads 账户。
- 安排自动发布。
- 在 https://post-engineer.com/recipes 生成和管理 API 密钥。
要求
- Node.js 20.10+
- 在 https://post-engineer.com/recipes 生成的 API 密钥
遥测
每次对 post-engineer API 的请求都会包含调用工具的名称和 服务版本,并关联到你的账户进行产品分析。 不会发送脚本内容、媒体或凭据。服务本身不会联系任何分析服务。
为了衡量 Agent 是否使用了配方,配方感知型工具(list_prompts、get_prompt、create_persona、list_personas、list_social_accounts、get_token_balance、validate_script、
generate_persona_video)发出的请求还会包含:
| 标头 | 值 |
|---|---|
X-MCP-Session-Id | 此服务实例的随机 ID(一个 stdio 连接;HTTP 为一个请求,且无状态) |
X-MCP-Transport | stdio 或 http |
X-MCP-Nudged-By | 最近一次显示配方提示的工具,或 none |
X-MCP-Recipes-Known | Agent 列出或获取配方后为 true |
X-MCP-Recipe-Fetched | get_prompt 返回的最近一个配方 slug,或 none |
X-MCP-Script-Rejections | 本地验证器在当前会话中拒绝的脚本数 |
X-MCP-Recipe | 此次调用的配方 slug(get_prompt 的 slug、generate_persona_video 的 recipe) |
Web API 会将这些信息记录为 mcp_tool_called 属性;不属于 hub slug 的 slug 会记录为 unknown。
使用
配置你的 Agent(opencode.json、claude_desktop_config.json、.mcp.json 或 Cursor 设置):
{
"mcpServers": {
"post-engineer": {
"type": "local",
"command": ["npx", "-y", "post-engineer-mcp@latest"],
"environment": {
"POST_ENGINEER_API_KEY": "<MY_API_KEY>"
}
}
}
}
将 <MY_API_KEY> 替换为你在 https://post-engineer.com/recipes 生成的密钥。无需克隆仓库或在本地构建。
@latest标签很重要:npx会在首次运行时缓存软件包,之后运行时会重复使用缓存副本,而不会检查更新。如果不使用@latest,你可能会一直停留在旧版本(例如服务端已不再提供的 1.12.0 之前的工具),且不会收到任何错误提示原因。
OpenCode
OpenCode 使用 mcp,而不是 mcpServers。其本地 MCP 工具发现超时默认为 5 秒,而首次启动时 npx 下载软件包可能需要更长时间。请设置更长的超时时间:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"post-engineer": {
"type": "local",
"command": ["npx", "-y", "post-engineer-mcp@latest"],
"environment": {
"POST_ENGINEER_API_KEY": "<MY_API_KEY>"
},
"timeout": 30000,
"enabled": true
}
}
}
如果已配置服务,只需在现有条目中添加 "timeout": 30000,然后重启 OpenCode。
本地开发
pnpm install
pnpm build
pnpm start
在本地设置 API 密钥(默认使用生产 API;设置 POST_ENGINEER_API_URL 可切换到 staging / 自托管环境):
export POST_ENGINEER_API_KEY="<MY_API_KEY>"
# optional: export POST_ENGINEER_API_URL=https://staging.example.com
Authorization: Bearer API 密钥标头会发送到配置的基础 URL,因此 POST_ENGINEER_API_URL 只能指向你信任的服务。
工具
list_personas:列出现有角色。list_voices:列出可用的角色语音(实时目录:65 种英语 House 语音,带有gender/accent/kind,以及已就绪的克隆语音)。每种语音都有描述其听感的description。可选筛选条件:gender(female|male)、origin(us|gb|character)、search(匹配名称/描述中的词语,例如"deep calm")。响应中绝不会包含openrouter:或elevenlabs:ID;选择器仅包含 House 语音和你的克隆语音。list_cloned_voices:列出你按用户区分的 Chatterbox 语音克隆(状态,以及就绪时的voice_id)。create_cloned_voice:从一段简短的参考录音注册语音克隆——必须且只能提供audioUrl(HTTPS URL)或audioPath(本地.mp3/.wav/.m4a/.webm文件,最大 20MB,读取前会检查;错误信息只会显示文件名,不会显示完整路径)之一(需要consent: true;denoise:true会先清除背景噪声,false则保留原音)。get_cloned_voice:按 ID 获取一个语音克隆——调用create_cloned_voice后,轮询其status,直到变为ready(此时会设置voice_id)或failed。delete_cloned_voice:按 ID 删除一个语音克隆。preview_cloned_voice:为就绪的克隆生成一段简短的 MP3 试听(返回 base64 音频)。可选的text(1-300 个字符,英语)可让克隆语音读出你提供的内容,而非固定示例;试听免费,每位用户每天最多 10 次。preview_house_voice:为list_voices中的 House 语音生成一段简短的 MP3 试听(返回 base64 音频)。可选的text(1-300 个字符,英语)可让语音读出你提供的内容,而非固定示例;试听免费,每位用户每天最多 10 次。list_faces:列出默认/内置角色头像(来自/api/persona/faces的实时目录)。每项包含id、url、name、gender、age(单个数字,例如 23)、ethnicity、hair和description(英语),方便 Agent 不看照片也能选择;在create_persona中将头像url作为avatarUrl传入。create_persona:创建 AI 角色(头像、语音、语言、细分领域)。必须提供头像,且必须且只能来自以下一种来源:avatarUrl(公开图片 URL 或list_faces的url)或avatarPath(本地 JPG/PNG/WebP 文件,最大 10MB,会直接作为角色照片上传,因此服务端无需下载链接)。同时传入两者会在发送任何内容前被拒绝。“无头像”是逐视频选择的(在generate_persona_video中设置options.faceless)。voiceId可使用list_voices中的 House 名称或标签(phonon_zoey、Zoey),或从list_voices复制的克隆 ID/键;不要输入提供商前缀(elevenlabs:/openrouter:)——未知语音会在发送任何内容前被拒绝。update_persona:更新现有角色(仅更改已提供的字段)。使用avatarUrl或avatarPath替换头像(本地照片文件会直接上传);两者最多只能提供一个。无需重新创建角色即可更改faceQuality(ok为 480p /very_good为 720p):未来视频按新画质计费,已排期的帖子仍按原先计费的画质生成。get_token_balance:获取预付令牌钱包余额。生成视频需要消耗令牌,请在生成前检查。list_prompts:列出此服务可运行的配方提示词——每个配方对应一个条目,包含slug、title和description(新闻、地点专题、主题专题、GitHub PR、完整设置),不包含提示词正文(轻量发现)。请求内容是主题而非现成脚本时,先调用此工具,再通过get_prompt获取匹配的配方。get_prompt:按slug(来自list_prompts)获取一个配方提示词,内容是可直接运行的指令,涵盖完整的已验证流程(脚本限制、媒体检查、生成调用),并以要求 Agent 在generate_persona_video中将该 slug 作为recipe传入的行结尾。未知 slug 会返回错误,并列出有效 slug。validate_script:以机械方式验证分段脚本,不消耗令牌——开场钩子必须在最前,CTA 必须在最后,二者各恰好一个;字数限制(总计 60-200,正文至少 30,CTA 5-20,TTS 之前的开场钩子为 15-40 个词)。返回字数统计和开场钩子的时长范围(朗读 8-12 秒)。实际开场钩子时长需等待仅针对开场钩子的 TTS 端点;在此之前会报告为待定,绝不编造。可选的facelessMaterial(broll、svg、images):选择images时,还会检查每个分段是否都带有media(最多 12 个)。score_draft:根据调用方自己测得的帖子,以机械方式为草稿评分,不消耗令牌。返回 0-100 分,每个得分点都有说明(开场钩子、长度、主题标签、低质内容标记、链接、热门主题匹配度、行动号召)、评分依据(按互动量排序的热门角度),以及针对所请求平台的发布检查(linkedin、youtube、instagram、bluesky、threads):仅当草稿为空,或超出本仓库有证据支持的平台自身上限时才会失败(LinkedIn 3000 个字符、Threads 500 个字符、Bluesky 300 个字素);其他情况均为警告。发布检查失败表示:请先修改草稿,再为该平台安排发布。视频脚本请传入kind 'script'(将各分段以换行符连接,开场钩子在前,CTA 在后):主题标签不计分,且publishCheck为 null。upload_media:上传用于视频分段的本地图片,并获取可用于分段media字段的mediaId。支持 JPG/JPEG、PNG 或 WebP,最大 8MB(引擎照片限制,不是 10MB 的素材库限制);会验证实际内容类型,而非文件扩展名。文件会作为临时引擎素材存储(TTL 为 1 小时):请在生成前不久上传,因为很久以后的排期可能晚于素材有效期,届时该分段渲染时会缺少图片。仅返回mediaId。分段的media还可以包含overlay(title,可选的subtitle和badge,长度最多分别为 60、80 和 30 个字符):信息卡会显示照片的实际地点名称、地址和价格,并绘制在照片顶部。照片会在朗读对应分段的时长内显示在视频上方,字幕则叠加在照片上:无头像视频和 b-roll 视频会使用完整画面(整张照片覆盖模糊的自身副本,因此不会留下黑边);角色露脸时,照片会显示为带边框的面板(约占画面 38%,距底边 30 px),让面板后方的角色面部仍可见。这意味着,仅有开场钩子的对口型视频的开场钩子,以及完整对口型视频的所有分段,都会显示面板;仅有开场钩子的视频切换到 b-roll 后,照片会占满画面。在 react 布局中,角色占据上半部分,因此面板会位于底部。若信息卡无法绘制,会跳过该卡片并在任务中显示警告,但照片仍会呈现。check_media:对分段的一张公开图片 URL 进行机械检查,不使用大模型,也不判断相关性(由能看到图片的 Agent 判断相关性)。只返回以下代码之一:ok、blocked_403、not_image、too_small、too_large、timeout或face_detected。不会发送伪造的 User-Agent 或 Referer 来绕过防盗链;绝不会访问私有地址。generate_persona_video:根据完整脚本生成并排期一个角色视频——生成始终与发布绑定(一次调用 = 生成 + 排期 + 自动发布;不会留下孤立视频,也没有单独的排期步骤)。将完整脚本作为segments发送(先hook,再正文分段,最后cta;总计 60-200 个词,正文至少 30 个词,CTA 为 5-20 个词,开场钩子为 15-40 个词且以终止标点结尾)——不会由大模型扩写。title是该视频的排期标签。personaId是可选的:若要发布无角色的无头像帖子,请省略此项,并设置options.faceless和options.voiceId(或options.audioUrl),还可按需设置videoAspect/language/niche。options.voiceId可使用list_voices中的 House 名称或标签(phonon_zoey、Zoey),或来自list_voices的克隆 ID/键;不要输入提供商前缀——未知语音会在生成前被拒绝(不消耗令牌)。传入providers以及每个提供商对应的账号 ID(参见下方账号 ID 表),并在timezone中传入startAt+times(或使用mode: 'asap',不传startAt/times)。排期时间必须在 3 小时至 30 天之后。idempotencyKey会自动生成;重复使用即可重试而不重复生成(replayed: true)。可选的recipe:编写脚本时使用的配方 slug——仅作为X-MCP-Recipe遥测标头发送,绝不会放入请求正文。通过get_video_task_progress轮询排期的taskId。options.facelessMaterial用于选择视频画面的填充内容:broll(真实素材库视频,默认)、svg(绘制的插图)或images(仅使用你在分段中提供的图片:不使用素材库视频,也不绘制插图)。使用images时,每个分段都必须带有media(来自upload_media或公开图片url,最多 12 个);系统会在消耗任何令牌前检查这些图片。每张图片会在朗读对应分段的时长内以全画幅慢速缩放的方式显示。如果图片在渲染时失败,相邻图片会覆盖其显示时长,任务会发出警告;如果没有任何图片可用,任务会以images_do_not_cover_audio失败并退还令牌。图片是你提供的第三方内容:只能使用你拥有使用权的图片。generate_persona_video_batch:一次调用生成并排期 2-12 个角色视频,费用低于逐个生成:每 6 个露脸角色的视频,最便宜的一个免费。每个视频所需字段与generate_persona_video相同(不支持idempotencyKey、experiment或recipe)。视频会通过相同路由依次创建(每个视频按正常价格计费并立即派发,因此同一批次会在一个预热的 GPU 容器中连续渲染),之后服务端会返还免费视频对应的费用(POST /api/videos/batch-discount)。批次中可包含无头像视频,但需全额付费,不计入 6 个视频,也绝不会免费。所有视频必须在第一个视频创建后的 10 分钟内创建,且每个视频只能属于一个批次。batchKey用于标识批次:使用相同batchKey和相同顺序的视频再次调用,会重放已创建的视频(不重复收费)、创建缺少的视频,并重试折扣。取消享受折扣的批次中的视频(cancel_schedule)时,会从该视频的退款中扣除批次不再符合条件的折扣。get_video_status:检查生成状态并获取最终视频 URL。get_video_task_progress:轮询一个视频任务,获取机器可读的进度:返回{task_id, state, progress, stage, error}。当state为-1(失败)时,error为引擎失败原因;否则为null。调用generate_persona_video后应针对每个视频使用此工具;若只需查看进度,优先使用此工具而非get_video_status。cancel_video_task:通过taskId(来自get_video_status、get_video_task_progress、get_post或list_posts)取消/移除你在引擎上的一个视频任务。只能取消你自己的任务;角色级 API 密钥只能取消其角色所属的任务。未知或已完成的任务会返回错误;此调用不会退还令牌。list_persona_images:列出角色的图片库(id、标签、描述、is_primary)。在generate_persona_video中使用这些 ID 设置options.imageId,即可通过一次调用让每个视频都使用特定图片。add_persona_image:通过本地文件路径向角色图片库添加图片(JPG/JPEG、PNG 或 WebP,最大 9MB)。可选的标签和描述会影响逐视频确定性图片选择。update_persona_image:更新角色图片库中图片的标签、描述或主图标记。remove_persona_image:从角色图片库中移除图片。publish_video_direct:将现成的视频文件直接发布到社交账号——不生成、不排期(本地 .mp4/.mov,最大 2GB;YouTube 需要标题、描述、标签和隐私状态;其他平台需要配文)。list_social_accounts:列出已连接的社交账号及排期所需的账号 ID。get_persona_publishing_accounts:列出角色在各提供商下的默认发布账号。若未传入账号 ID,generate_persona_video会使用这些默认账号;明确传入的 ID 始终优先。set_persona_publishing_accounts:替换角色在各提供商下的默认发布账号(账号 ID 来自list_social_accounts;映射到[]的提供商不会保留默认账号)。connect_account:连接社交账号。对于 youtube/instagram/linkedin/threads:会返回授权 URL——用户必须在已用同一账号登录 Post Engineer 的浏览器中打开该 URL 并完成授权;随后账号会自动连接(使用list_social_accounts验证)。未登录或以其他用户身份登录的浏览器会被拒绝。对于 bluesky:使用句柄和应用密码直接连接。list_schedules:列出自动化排期。list_posts:列出所有已连接账号的即将发布(已排期)和过往(已发布/失败)帖子。传入from+to(带 UTC 偏移的 ISO-8601 格式,最多 62 天)时,会在一个slots列表中返回该时间范围内所有状态的帖子,并附带truncated。cancel_schedule:按 ID 取消排期。get_slot:按槽位 ID 获取一条已排期帖子的完整详情(状态、标题、排期时间、进度、排期、角色)。update_slot_title:编辑尚未开始生成的已排期帖子标题。delete_slot:删除一个已排期帖子槽位(仅限待处理/等待中或失败的槽位;绝不能删除排期中的最后一个槽位)。list_video_generations:按时间从新到旧列出视频生成历史(状态、错误代码、令牌退款)。get_video_generation:按生成 ID 获取一个视频生成的详细信息。get_post:按 ID 获取一个帖子的完整详情,无论该 ID 是槽位 ID 还是生成 ID(服务端会识别;响应中会注明kind: "slot"或kind: "generation")。两种类型都会包含实时生成进度。get_post_metrics:获取每个视频在24h、7d或28d时间窗口内的表现快照(观看量、点赞、评论、收藏),按时间从新到旧排列。可选的精确匹配筛选条件:persona(uuid;无角色的帖子使用^@none)、account、provider、angle(或^@none)。返回rows和truncated。YouTube 行还会包含你自己视频的 YouTube Analytics 留存数据:engagedViews、stayedToWatchPct(推导值:engaged views / views,并非原生指标)、averageViewPercentage、contentType、provisional(Analytics 数据约 3 天内尚未定稿;28d行为最终数据),以及analyticsStatus(scope_missing= 重新连接 YouTube 并授予yt-analytics.readonly权限)。get_youtube_retention_curve:获取你自己已发布的一个 YouTube 视频的观众留存曲线(account+ 来自 youtubeget_post_metrics行的video),从 YouTube Analytics 实时读取:返回ratio(视频的 0.01–1.0 位置)、audienceWatchRatio、relativeRetentionPerformance的各个points。只会查询你自己的频道。Shorts 在 YouTube Studio 中没有逐秒曲线;长视频则有。create_experiment:为一个脚本变量(开场钩子)创建配对 A/B 测试:包含名称、可选的personaId、targetPairs(3–20,默认 6)和恰好两个变体;每个变体都包含 slugvariantId(例如hook-aggressive,不能使用 “A”/“B”)、name和编写对应开场钩子时需遵循的风格description。不会收费。list_experiments:列出你的实验及其两个变体和目标配对数。add_experiment_pair:创建一对视频:两个视频使用相同的title、正文和 CTA(segments不含开场钩子),在hooks中为每个变体提供一个开场钩子,并包含generate_persona_video的常规发布字段。每个视频都按普通视频收费;第二个视频会在第一个之后spacingHours(默认 24)小时开始生成,每组配对的先后顺序交替。除非第二个视频与第一个视频在以下方面完全匹配,否则服务端会在收费前拒绝该视频(并发竞态会在插入后发现并退款):提供商和账号相同、标题相同、语音(ID 和音频 URL)相同、无头像设置和无头像素材相同、完整对口型设置相同、视频宽高比和布局相同、段落编号相同、头像画质相同、语言相同、细分领域相同、CTA 文本相同,且正文和 CTA 分段完全一致;开场钩子则必须不同。固定的options.imageId不会被存储,因此不会进行比较:请自行确保两个视频使用相同的imageId(或都不使用);使用相同参数再次调用会重放已创建的内容;如果视频派发失败(其槽位为failed,令牌已退款),调用会报告错误,且该配对编号仍会被占用(单视频排期唯一的槽位不能用delete_slot删除),因此请继续使用下一个可用的配对编号。get_experiment_results:按配对列出实验视频,并按提供商返回每组配对的观看量/点赞数/评论数/平均观看时长、每个变体的胜出次数、符号检验pValue和label:pending、indicative(尚无定论)或clear(所有目标配对均已判定且 p < 0.05)。window为24h、7d(默认)或28d。list_token_transactions:列出令牌账本中的每笔入账和扣款(购买、生成消耗、退款),按时间从新到旧排列。get_persona_delete_preview:预览删除角色将移除的内容(数量 + 每个视频的下载链接)。只读。delete_persona:破坏性操作——删除角色及其所有排期、槽位、视频和图片库。不会退还令牌。disconnect_account:按提供商和账号 ID 断开社交账号。
generate_persona_video 的社交账号 ID
每个提供商的 *AccountIds 字段都要求填写 list_social_accounts 返回的提供商账号标识符,而不是 recordId(这是内部数据库行 ID,使用后会被拒绝):
| 提供商 | generate_persona_video 字段 | 使用 list_social_accounts 中的此字段 |
|---|---|---|
| YouTube | youtubeAccountIds | channelId |
instagramAccountIds | igUserId | |
linkedinAccountIds | providerAccountId | |
| Threads | threadsAccountIds | providerAccountId |
| Bluesky | blueskyAccountIds | did(例如,did:plc:...) |
如果传入 recordId,系统会立即报错,并指出正确的字段。
提示词(斜杠命令)
服务通过 MCP prompts 能力,从 Post Engineer Web 平台提供提示词中心,因此 MCP 客户端(Cursor、Claude)会将这些提示词列为斜杠命令。每个提示词都不需要参数:运行时,Agent 会询问你有关角色、账号和发布时间的信息。提示词列表和文本会按需从 Web API 获取(GET /api/prompts、GET /api/prompts/{slug}),因此,在 Web 端编辑方案后,所有安装版本都能使用,无需更新软件包。
/daily-news:每日新闻变成视频——将当天一则热门 GNews 新闻改编为一个角色视频,并在花费任何令牌前完成验证。/place-spotlight:地点聚焦变成视频——将一个真实地点改编为一个角色视频,检查并附上该地点自己的照片作为片段媒体,并在花费任何令牌前完成验证。/subject-spotlight:主题聚焦变成视频——将一个具体主题(汽车、产品或小工具)改编为一个角色视频,配上主题自己的照片,并在画面中显示真实价格,且在花费任何令牌前完成验证。/github-prs:GitHub PR 变成视频——将一个 GitHub 拉取请求改编为一个角色视频。/last-30-days:过去 30 天变成视频——将你所在领域过去 30 天发生的事改编为一个角色视频,并在花费任何令牌前完成验证。/multi-rede:一周,每个网络一个视频——本周在每个网络发布一个视频:LinkedIn、YouTube、Instagram、Bluesky,并针对各自网络进行评分。/viral-shorts:热门视频变成你的 Short——借鉴你所在领域观看次数最多的视频,用你自己的风格、开场钩子、内容和 CTA 撰写一份全新的 Shorts 脚本。/full-setup:完整设置变成视频——连接账号、创建角色、验证脚本,并发布你的第一个视频,不跳过任何步骤。
即使没有人输入斜杠命令,Agent 也可以通过 MCP 工具自行获取同一个提示词中心:list_prompts 会列出方案(slug/标题/描述),get_prompt 则根据 slug 返回某个方案的完整文本。服务的初始化说明会引导 Agent 在处理特定主题的请求时使用这些工具。在 Agent 列出或获取方案之前,create_persona、list_personas、list_social_accounts 和 get_token_balance 的结果末尾会附上一段简短的后续步骤提示,指向 list_prompts;如果 validate_script 或 generate_persona_video 拒绝了某个脚本,也会提示使用方案生成可通过验证的脚本。
要添加提示词,请将其文本添加到 shared/prompt-base/prompt-base.ts,并将条目添加到 Web 中心(apps/web/app/recipes/prompts.ts,以及对应的 i18n 标题和目标)。MCP 无需更改:它会提供 Web 中心列出的所有内容。
链接
- 平台:https://post-engineer.com/
- API 密钥:https://post-engineer.com/recipes
- 配方:docs/recipes/daily-news.md(将每日新闻制作成视频)、docs/recipes/place-spotlight.md(将地点专题制作成视频)、docs/recipes/subject-spotlight.md(将主题专题制作成视频)、docs/recipes/last-30-days.md(将最近 30 天的内容制作成视频)、docs/recipes/multi-rede.md(一周内为每个社交网络制作一个视频)以及 docs/recipes/viral-shorts.md(将热门视频制作成你的 Short)
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。