Photo Captions Free
当用户分享一张照片并附带拍摄背景(地点、机身、胶片型号、主体、氛围),为下方五个平台生成差异化配文。每个平台独立成段,语调与格式贴合该社区的真实习惯,禁止跨平台复制同一句话. 若用户给出器材信息,在合适的平台自然嵌入;不要凭空编造用户没提供的器材细节.
输入格式
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| input | string | 是 | 摄影配文免费版处理的输入数据或指令 |
| options | object | 否 | 附加配置选项,如模式选择、格式偏好等 |
| callback_url | string | 否 | 异步处理完成后的回调通知URL |
依赖说明
运行环境
- Agent平台: 支持SKILL.md的任意AI Agent(Claude Code / Cursor / Codex / Gemini CLI等)
- 操作系统: Windows / macOS / Linux
依赖项
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| LLM API | API | 必需 | 由Agent内置LLM提供 |
API Key 配置
需要配置对应API Key,详见上文环境配置章节
可用性分类
- 分类: MD+EXEC()
API Key配置方式:
export API_KEY=${API_KEY:?请设置环境变量}
配置后需重启会话或开启新终端生效。API Key应妥善保管,避免泄露到版本控制系统.
核心能力
- 一次性输出 5 个主流平台(Instagram、Flickr、X、Reddit、VSCO)的差异化配文
- 区分标签型社区(Instagram、Reddit)与反标签社区(VSCO)
- 内置基础用词黑名单,剔除"captured"、"bathed in light"、"timeless"等模板化表达
- 胶片照片倾向模拟美学叙事,数码照片聚焦瞬间与技术决策
- 用户只要特定平台时,只生成那些
快速开始
- 确认运行环境满足依赖说明中的要求
- 在AI Agent对话中调用本技能,提供必要的输入参数
- 检查输出结果,根据需要进行后续处理
详细的输入输出格式请参考下方章节说明。
使用流程
- 环境确认: 确认Agent平台已加载本skill,检查依赖说明中的环境要求
- 指令输入: 向Agent描述需要执行的任务,引用
photo-captions-free的相关能力 - 执行处理: Agent按照核心能力章节的指令执行任务
- 结果验证: 检查输出结果是否符合预期,参考错误处理章节处理异常
适用场景
跨平台发布同一张作品
摄影师在个人作品集发布后,希望同步到 Instagram、Flickr、Reddit 等社区。每个社区受众期待不同:Instagram 重氛围与标签,Flickr 重故事与工艺,Reddit 重真实不卖弄,VSCO 重极简,X 重一句话的冲击力。一次输入照片背景,输出五条配文,省去逐平台改写.
胶片摄影的社群分享
胶片摄影师在 r/analog、Instagram、VSCO 之间发布作品。胶片社区对器材叙事有期待(机身、胶片型号),但对营销话术敏感。本 Skill 把"Pentax K1000 · Kodak Tri-X 400"这类信息放在合适的位置——Instagram 的器材行、Reddit 的标题方括号、VSCO 完全隐去.
平台语调
- 语调:短、接地、具体。一句对场景的强观察,跳过诗意.
- 格式:1-2 行配文,空行,器材行(若提供),空行,标签.
- 标签:恰好 5 个。优先类型(如
#filmphotography)、地点、胶片或器材、一个氛围标签.
Flickr
- 语调:描述性、沉思式。Flickr 受众喜欢故事与工艺.
- 格式:标题(纯文本,不用 Markdown),破折号,1-3 句背景或故事,以器材信息收尾.
- 必含:地点背景、吸引你按下快门的原因.
X (Twitter)
- 语调:有力、简洁、干。280 字符以内。拒绝标签轰炸.
- 格式:一句关于画面的强陈述。器材放末尾,若自然契合.
- 语调:真实、略自嘲、社区友好。无自我推销感,无矫情语言.
- 格式:帖子标题(简洁、描述性)+ 评论正文,含背景与器材.
- 标题:地点或主体 + 方括号内器材,如
Bombay Beach [Canon EOS 1V, Tri-X 400]。纯事实,不放戏剧化形容词. - 评论:2-3 句背景或故事。提相关子版块:r/analog 给胶片,r/photography 给数码.
VSCO
- 语调:极简、诗意、克制。VSCO 是安静画廊,让画面呼吸.
- 格式:最多 1 行。有时只一个词或短语。无标签.
- 氛围:低语,不是宣告。说得越少越好.
- 不谈器材,除非是胶片型号,且要含蓄.
创作原则
- 所有配文适配具体照片内容、地点与氛围.
- 跨平台不复读同一句。每条配文都要像生于那个社区.
- 不要让多条配文以同一个词或同一种句式开头.
- 黑白照片在 Instagram 与 Reddit 加入相关 B&W 标签.
- 拒绝通用化。每条配文都要像专为这张照片写的.
- 用户只要特定平台时,只生成那些.
- 像人写,不像文案写。全篇禁用 emdash(—)。 不用分号制造戏剧感。中点(·)仅允许在 Flickr 器材行使用.
禁用词清单
- "doing its thing"、"golden hour doing its thing"、"light doing its thing"——找出光线实际在做什么的具体描述
- "captured"——改用"shot"、"took"、"made"或直接描述场景
- "bathed in light"、"drenched in light"、"washed in light"——找具体替代
- "timeless"、"fleeting moment"、"frozen in time"——图库照片陈词,永不使用
- "There's something about..."——模糊填充式开场,删掉
- "I found myself..."——像回忆录,不像配文
- "Ever wonder..."、任何反问开场——AI 填充物
- 以"The [名词]..."或"A lone [名词]..."开场——图库照片腔
- "shot on [胶片/相机]"作为句子开头——器材信息放结尾
案例示范
案例一:胶片风光,莫哈韦沙漠
输入背景:地点 Amboy, California;机身 Canon EOS 1V;胶片 Kodak Portra 400;主体 66 号公路旁废弃加油站;氛围 黄昏将至的安静. Instagram 输出:
Amboy 加油站在黄昏前彻底安静下来,66 号公路上的车声也退到远处.
# ...
Canon EOS 1V · Kodak Portra 400
# ...
#filmphotography #route66 #mohavedesert #portra400 #americana
Reddit 输出:
标题: Abandoned gas station off Route 66, Amboy CA [Canon EOS 1V, Portra 400]
# ...
评论: 在 Amboy 停了二十分钟,等一队房车过去。Portra 400 在黄昏前那种青蓝里很稳,没换 800 是对的。发到 r/analog 与 r/LandscapePhotography 都合适.
VSCO 输出:
Amboy, almost dark.
案例二:街头黑白,孟买
输入背景:地点 Bombay Beach 街角;机身 Leica M6;胶片 Tri-X 400;主体 穿白衬衫的老人倚墙;氛围 上午强光下的硬阴影. X 输出:
He stood by the wall long enough that the light moved. Tri-X 400, Leica M6.
异常处理
用户未提供任何背景
仅丢来一张照片没有文字说明。处理:先识别照片可观察元素(场景类型、光线方向、主体、是否胶片感),基于可观察元素生成配文,并在结尾提示用户补充器材与地点可获得更贴社区的版本。不要编造地点或器材.
用户要求生成未在列表内的平台
如 LinkedIn、Threads、500px、Pinterest、Tumblr、Bluesky、Glass、Substack、Facebook。处理:本免费版当前覆盖 5 个平台,未覆盖的平台不强行套用模板。直接告知用户当前支持的平台列表,并提示升级到付费版可解锁全部 12 个平台.
照片主体识别模糊
照片内容抽象或纯艺术化,难以判断主体。处理:转向氛围与情绪描述,避免编造主体。在 VSCO 这类接受模糊叙事的平台可以正常输出;在 Reddit 这类重事实的平台,提示用户补充一句背景以获得更准确的标题.
器材信息不完整
用户只给机身没给镜头,或只给胶片没给机身。处理:在器材行只写用户提供过的部分,不补全猜测。Flickr 这类器材敏感平台可在配文后提示"补充镜头与设置可让技术注解更完整".
配文超出平台字符限制
X 的 280 字符是硬规则。处理:先按平台限制硬截断到合规长度,再重写超长部分,保证语义完整。截断后向用户说明哪些平台做了压缩.
常见问题
Q1: 我可以只生成部分平台吗?
可以。在请求里点名要哪几个平台,例如"只要 Instagram、Reddit 两条",Skill 就只输出这两条。默认行为是输出全部 5 个平台,点名后按点名子集输出.
Q2: 为什么禁用"captured"和"bathed in light"这类词?
这些词是图库照片与营销文案的高频陈词,会让配文瞬间失去人味。禁用清单的目的是让配文读起来像人写的,而不是 AI 套模板。改用"shot"、"took"、"made"或直接描述场景.
Q3: 胶片照片和数码照片的配文有差别吗?
有。胶片照片倾向放大模拟美学的叙事——胶片型号、颗粒感、等待的耐心。数码照片倾向聚焦瞬间的判断与相机设置——为什么这个快门、为什么这个焦段。这种差别在 Reddit 上尤其明显,在 VSCO 上则都要求极简.
Q4: 为什么 VSCO 不让写器材?
VSCO 是安静画廊,受众讨厌器材讨论,认为那是技术炫耀而非作品本身。VSCO 配文更接近标题而非描述,说得越少越好。胶片型号可以含蓄提及,机身与镜头完全不出现.
错误处理
| 错误场景 | 原因 | 处理方式 |
|---|---|---|
| LLM响应超时或无响应 | 网络延迟或模型负载过高 | 检查网络连接和配置后重试;确认Agent平台LLM服务正常 |
| 输入内容格式不正确 | 用户输入不符合skill预期格式 | 检查输入是否符合skill使用说明中的格式要求,参考示例章节 |
| 执行结果与预期不符 | 指令描述不够明确或上下文不足 | 提供更详细的指令描述,补充必要的上下文信息 |
| 命令执行失败 | 运行环境不满足要求或权限不足 | 确认运行环境符合依赖说明中的要求;检查命令权限设置 |
已知限制
- 仅覆盖 5 个主流平台,不包含 Threads、500px、Pinterest、Tumblr、Bluesky、Glass、Substack、Facebook 等长尾社区.
- 照片本身需要可识别的视觉元素。纯抽象、过度曝光、严重失焦的照片,配文质量会下降.
- 平台字符限制是硬规则,超长配文会被压缩,可能损失部分语境.
- 器材信息只能基于用户提供,不主动编造机身、镜头、胶片型号.
- 不替代照片编辑分析。配文聚焦文字,色调与裁剪建议不在本免费版范围内.
- 不处理版权问题。若照片涉及他人肖像或受版权保护的作品,发布合规性由用户自行承担.
升级提示
本免费版覆盖 5 个主流平台与基础用词规范。若你需要 Threads 话题建议、500px 技术参数行、Pinterest 关键词策略、Tumblr 文学化叙事、Bluesky 反标签文化适配、Glass 摄影师对摄影师语调、Substack 散文式图注、Facebook 故事化口吻等更细颗粒度的社区适配,可升级到付费版 photo-captions,一次性输出 12 个平台的差异化配文,并解锁更完整的器材呈现规则与禁用词清单.
评论
加载中…