关于 eu-ai-label
eu-ai-label 是一项 Python 技能,可将欧盟委员会的 AI 披露图标嵌入图片和视频,适合需要标注媒体的创作者。它支持选择标签类型,并调整位置、尺寸及视频编码参数。
主要功能
- 01将 AI 披露图标嵌入图片和视频
- 02提供 AI、AI GENERATED 和 AI MODIFIED 版本
- 03调整颜色、位置和尺寸
- 04支持批量处理和试运行
- 05输出建议的替代文本
适用场景
- 01标注完全由 AI 生成的视频
- 02标注经 AI 部分修改的照片
- 03为多张图片批量添加同一标签
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ run-labs-com/ agent-skills --skill eu-ai-label安装后在 Claude Code 中输入/eu-ai-label确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
assets/SOURCE.mdassets/svg/ai-black-50.svgai-black.svgai-generated-black-50.svgai-generated-black.svgai-generated-white-50.svgai-generated-white.svgai-modified-black-50.svgai-modified-black.svgai-modified-white-50.svgai-modified-white.svgai-white-50.svgai-white.svgreferences/eu-rules.mdscripts/ai-label.py详细介绍
欧盟 AI 内容标签
将欧盟委员会官方图标烙印到图像和视频中,用于标注 AI 生成的内容。来源:https://digital-strategy.ec.europa.eu/en/policies/eu-icons-labelling-ai-generated-content
(图标随项目打包在 assets/ 中,包含 PNG 和 SVG 格式,以及全部四种颜色变体)。
快速开始
python3 scripts/ai-label.py <file...> # basic "AI" icon, bottom-right, auto colour
在输入文件旁写入 <name>-ai-label.<ext>,并打印推荐的替代文本。
从其他目录调用时,始终使用技能的绝对路径,例如:
python3 ~/.pi/agent/skills/eu-ai-label/scripts/ai-label.py clip.mp4。
选择合适的变体
--variant | 图标 | 使用场景 |
|---|---|---|
ai(默认) | “AI”徽章 | AI 参与了深度伪造或已发布文本的创作,或者你添加了自定义文字标签/第二层标注(例如“由 AI 生成的语音”+图标) |
generated | “AI GENERATED” | 内容完全由 AI 生成,没有人工创作的元素,除提示词之外也没有人工编辑 |
modified | “AI MODIFIED” | 预先存在的人工创作内容经过 AI 部分修改(换脸、AI 布置的房间……) |
如果不确定适用哪种情况,请询问用户;不确定时默认使用 ai。
常见用法
# fully AI-generated video, white icon, bottom-left, slightly bigger
python3 scripts/ai-label.py clip.mp4 -v generated -c white -p bottom-left --height 10
# partially modified photo
python3 scripts/ai-label.py photo.jpg -v modified
# batch into a folder (note: use --suffix=-xyz for values starting with a dash)
python3 scripts/ai-label.py shots/*.png --outdir labelled/ -v generated
# label only the first 5 seconds (still must be visible at first exposure)
python3 scripts/ai-label.py clip.mp4 --enable 'between(t,0,5)'
# busy background: add a backing plate
python3 scripts/ai-label.py clip.mp4 --padding 10 --padding-color '[email protected]'
# just get the raw asset path / alt text for use elsewhere (web, editor, Figma)
python3 scripts/ai-label.py --print-asset generated --color black
python3 scripts/ai-label.py --print-alt modified
python3 scripts/ai-label.py --list
重要选项
-c/--color auto|black|white—auto会采样目标角落,并选择对比度合适的图标。--half— 使用 50% 透明度的图标变体(仅在完全不透明的图标过于醒目时使用)。-p/--position—bottom-right(默认)、bottom-left、top-right、top-left、bottom-center、top-center;也可使用br/bl/tr/tl/bc/tc作为别名。- 尺寸:
--height(占画面高度的百分比,默认 8)或--width(占画面宽度的百分比),也可指定绝对像素值--height-px/--width-px。限制:--min-px(24)、--max-width(40%)。 --margin占较短边的百分比(默认 2.5),也可使用--margin-px。- 视频编码:
--crf 18、--preset medium、--vcodec libx264;音频流会直接复制。其他参数请使用--ffmpeg-arg添加。 -n/--dry-run会打印 ffmpeg 命令,-f/--force会覆盖文件,--no-metadata会跳过披露注释标签。
行为说明:图像会保留原格式(JPEG q2,PNG 默认会扁平化,除非使用 --keep-alpha),
GIF 会使用生成的调色板重新编码;仅包含音频的输入会跳过并给出提示(欧盟图标是视觉标识——请在播放器界面、描述或随附标签中披露音频内容)。
元数据仅适用于视频。 披露注释标签会写入视频容器(MP4/MOV/……),
但 ffmpeg 的静态图像复用器会丢弃该标签,因此 PNG/JPEG/WebP/TIFF/GIF 输出不会包含标签——脚本会明确说明,而不会假装已添加。就合规而言,这只是外观问题:第 50 条要求提供可见标记,而无论如何,标签都会烙印到像素中。如需添加标签:
exiftool -Comment='…' out.png。
应遵循的放置规则
除非用户明确要求覆盖规则,否则请遵循以下要求:
- 首次展示时即可见——放在第一帧/首屏区域,不要只在结尾出现。
- 放在不会被 UI 覆盖的位置(避开 TikTok/Reels 右侧栏或 YouTube 进度条区域等平台特定的易遮挡角落——这些情况下优先选择
top-left或bottom-left)。 - 将标识烙印到像素中,使其在转发和下载后仍能保留;仅靠元数据并不足够。
- 确保尺寸清晰可见——不要缩小到画面高度的约 5% 以下;默认的 8% 是合适的下限。
- 为发布该文件的任何界面提供推荐的替代文本/ARIA 标签(脚本会打印;也可通过
--print-alt获取)。 - 如果披露内容只显示一段时间,请让它在屏幕上停留足够长的时间,以便阅读。
完整规则和适用范围:references/eu-rules.md。
重要注意事项
- 仅使用此图标并不能确立法律合规性。部署者仍需根据《AI 法案》第 50 条承担责任;《行为守则》的签署方必须遵守其关于图标放置的规范。
- 并非所有内容都需要标注:标注义务涵盖深度伪造内容(与真实人物/地点/事件相似的图像、音频或视频),以及未经人工编辑审核便发布、涉及公共利益事项的 AI 生成文本。艺术、讽刺或虚构作品只需进行有限披露,且不得妨碍作品的欣赏;经执法部门授权的用途可豁免。
- 此图标用于视觉披露,不代表内容来源。如需机器可读的来源信息,请另外使用 C2PA/Content Credentials。