meme-factory

TraeWork 内置 skill —— 用 memegen.link API 制作梗图。支持 100+ 流行模板,自定义文字,零 API Key、零速率限制。


一、定位

字段值
所属TraeWork 内置 skill(创意工具类)
触发条件用户要求做梗图、加幽默元素、社交媒体配图
核心方法URL 模板 = 模板名 + 上文字 + 下文字 + 扩展名
底层memegen.link 免费 API

二、3 种触发方式

触发场景
/meme-factory手动触发
/meme-factory {模板} {上} {下}直接生成
meme-factory: create a meme about X自然语言请求

三、URL 模板

3.1 基本结构

https://api.memegen.link/images/{template}/{top}/{bottom}.{extension}

示例:

https://api.memegen.link/images/buzz/memes/memes_everywhere.png

→ Buzz Lightyear 梗图,上「memes」下「memes everywhere」

3.2 URL 参数

参数用法
?width=1200&height=630自定义尺寸
?style=https://example.com/bg.jpg自定义背景
?layout=top / bottom / default文字位置
?font=impact自定义字体

四、文字编码

字符编码
空格_ 或 -
换行~n
问号~q
百分号~p
斜杠~s
井号~h
单引号''
双引号""

示例:

fine/memory_usage_at_99~/this_is_fine.png
→ 「memory usage at 99%」/「this is fine」

五、8 个流行模板速查

模板用途例子
buzzX, X everywherebugs/bugs_everywhere
drake对比manual_testing/automated_testing
success庆祝deployed/no_errors
fine一切都好(讽刺)server_on_fire/this_is_fine
fry不确定not_sure_if_bug/or_feature
changemind改变看法tabs_are_better_than_spaces
distracted优先级my_code/new_framework/current_project
mordor简单做one_does_not_simply/deploy_on_friday

模板选择指南

场景用什么模板
对比两个选项drake(拒绝 vs 接受)
庆祝胜利success(正面)
问题被忽视fine(讽刺)
不确定fry(不确定格式)
有争议的观点changemind(陈述+挑战)
无处不在buzz(X, X everywhere)
馊主意mordor(One does not simply…)

六、平台尺寸

平台推荐尺寸
社交媒体(Open Graph)1200×630
Slack / Discord800×600
GitHub默认
微博 / Twitter1200×675

七、6 个常见反模式

错误后果正确做法
空格不编码URL 断裂用 _ 或 -
文字太长看不清每行 2-6 个字
选错模板主题不匹配按场景选模板
缺扩展名URL 无效必须加 .png 等
特殊字符不编码URL 断裂用 ~q、~s、~p 等
假设模板存在404 错误先查模板列表

八、上下文场景示例

8.1 代码审查

Template: fry
URL: /fry/not_sure_if_feature/or_bug.png

8.2 部署相关

Template: interesting
URL: /interesting/i_dont_always_test/but_when_i_do_i_do_it_in_production.png

8.3 文档

Template: yodawg
URL: /yodawg/yo_dawg_i_heard_you_like_docs/so_i_documented_the_documentation.png

8.4 性能问题

Template: fine
URL: /fine/memory_usage_at_99~/this_is_fine.png

8.5 成功部署

Template: success
URL: /success/deployed_to_production/zero_downtime.png

九、API 特点

  • 免费开源
  • 无需 API Key
  • 无速率限制(正常使用)
  • 无状态(所有信息在 URL 里)
  • 按需生成图片

API 端点

端点用途
/templates/列出所有模板
/templates/{id}模板详情
/fonts/可用字体
/images/{template}/{top}/{bottom}.{ext}生成梗图

错误处理

  1. 查 https://api.memegen.link/templates/ 确认模板存在
  2. 检查文字格式(下划线代替空格)
  3. 检查特殊字符编码
  4. 确认扩展名有效
  5. 在浏览器测 URL

十、Python 辅助

仓库自带 scripts/meme_generator.py:

from meme_generator import MemeGenerator
 
meme = MemeGenerator()
url = meme.generate("buzz", "features", "features everywhere")
print(url)

或自己写动态生成:

def generate_status_meme(status: str, message: str):
    template_map = {
        "success": "success",
        "failure": "fine",
        "review": "fry",
        "deploy": "interesting"
    }
    template = template_map.get(status, "buzz")
    words = message.split()
    top = "_".join(words[0:3])
    bottom = "_".join(words[3:6])
    return f"https://api.memegen.link/images/{template}/{top}/{bottom}.png"

十一、引用来源

  • TraeWork 实际 skill 路径 —— 本文内容完全来自此文件
  • memegen.link 官方文档 —— API 完整规范
  • 仓库的 references/markdown-memes-guide.md 和 references/examples.md —— 文本梗格式 + 实例

十二、一句话总结

meme-factory 是「用 memegen.link URL 模板做梗图」的技能——零 API Key、零速率限制、100+ 模板可选。黄金法则:文字要精简、模板要匹配场景。URL 里的所有信息都是状态,所以完全无状态。