blitzreels-video-editing by blitzreels/agent-skills
npx skills add https://github.com/blitzreels/agent-skills --skill blitzreels-video-editing通过 BlitzReels API 编辑视频:上传媒体、转录、编辑时间线、应用字幕、添加叠加层和背景,然后导出。
如果任务明确是长视频转短视频、播客转短视频、基于建议的剪辑或公共自动布局重构规划,请优先使用 blitzreels-clipping 技能,然后回到这里进行底层时间线工作。
重要提示:项目预览和视觉质量检查端点现已存在。当代理需要在导出前验证构图、字幕位置或布局时,请使用它们。
# 从 URL 上传视频
bash scripts/editor.sh upload-url PROJECT_ID "https://example.com/video.mp4"
# 添加到时间线并转录
bash scripts/editor.sh add-media PROJECT_ID MEDIA_ID
bash scripts/editor.sh transcribe PROJECT_ID MEDIA_ID
# 修剪、添加字幕、导出
bash scripts/editor.sh trim PROJECT_ID ITEM_ID 1.0 -2.0
bash scripts/editor.sh captions PROJECT_ID viral-center
bash scripts/editor.sh export PROJECT_ID --resolution 1080p
POST /projects {"name":"...", "aspect_ratio":"9:16"}editor.sh upload-url(URL 导入)或 2 步预签名上传广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
editor.sh add-mediaeditor.sh transcribe 生成逐字字幕editor.sh context 查看时间线状态editor.sh captions <presetId> 应用带样式的字幕editor.sh export 渲染最终视频并提供下载 URLscripts/editor.sh常见编辑操作的子命令包装器。
| 命令 | 用法 | 描述 |
|---|---|---|
upload-url | <projectId> <url> [name] | 从 URL 上传媒体 |
transcribe | <projectId> <mediaId> | 转录 + 轮询直到完成 |
context | <projectId> [mode] | 获取项目上下文(默认:时间线) |
timeline-at | <projectId> <seconds> | 获取时间戳处的项目 |
trim | <projectId> <itemId> <startDelta> <endDelta> | 修剪项目边缘 |
split | <projectId> <itemId> <atSeconds> | 在指定时间分割项目 |
delete-item | <projectId> <itemId> | 删除时间线项目 |
add-media | <projectId> <mediaId> [startSec] | 将媒体添加到时间线 |
add-broll | <projectId> <JSON> | 添加 B-roll 片段 |
captions | <projectId> <presetId> | 应用字幕预设 |
export | <projectId> [--resolution R] | 导出 + 轮询 + 下载 URL |
运行 bash scripts/editor.sh --help 查看完整用法。
scripts/blitzreels.sh用于直接端点调用的通用 API 助手。用于 editor.sh 没有快捷方式的叠加层、效果和高级操作。
bash scripts/blitzreels.sh METHOD /path [JSON_BODY]
| 变量 | 必需 | 描述 |
|---|---|---|
BLITZREELS_API_KEY | 是 | API 密钥 (br_live_...) |
BLITZREELS_API_BASE_URL | 否 | 覆盖基础 URL(默认:https://www.blitzreels.com/api/v1) |
BLITZREELS_ALLOW_EXPENSIVE | 否 | 设置为 1 以允许通过 blitzreels.sh 进行导出调用 |
| 方法 | 路径 | 描述 |
|---|---|---|
| POST | /projects | 创建项目 |
| GET | /projects/{id} | 获取项目详情 |
| PATCH | /projects/{id} | 更新项目设置 |
| DELETE | /projects/{id} | 删除项目 |
| GET | /projects | 列出项目 |
| 方法 | 路径 | 描述 |
|---|---|---|
| POST | /projects/{id}/media | 从 URL 导入媒体 |
| POST | /projects/{id}/upload/presigned | 获取预签名上传 URL |
| POST | /projects/{id}/upload/finalize | 完成预签名上传 |
| 方法 | 路径 | 描述 |
|---|---|---|
| POST | /projects/{id}/transcribe | 开始转录任务 |
| GET | /jobs/{jobId} | 轮询任务状态 |
| GET | /projects/{id}/context?mode=transcript | 获取转录文本 |
| POST | /projects/{id}/captions/regenerate | 重新转录媒体 |
| 方法 | 路径 | 描述 |
|---|---|---|
| POST | /projects/{id}/captions | 应用字幕预设 |
| GET | /projects/{id}/captions/style | 获取当前样式 |
| PATCH | /projects/{id}/captions/style | 更新样式设置 |
| GET | /projects/{id}/captions/presets | 按类别列出预设 |
| PATCH | /projects/{id}/captions/{captionId} | 更新字幕文字/时间 |
| DELETE | /projects/{id}/captions/{captionId} | 删除字幕 |
| POST | /projects/{id}/captions/words/emphasis | 强调特定词语 |
| 方法 | 路径 | 描述 |
|---|---|---|
| POST | /projects/{id}/timeline/media | 将媒体添加到时间线 |
| POST | /projects/{id}/timeline/trim | 按增量修剪项目 |
| POST | /projects/{id}/timeline/split | 在时间戳处分割项目 |
| DELETE | /projects/{id}/timeline/items/{itemId} | 删除项目 |
| PATCH | /projects/{id}/timeline/items/{itemId} | 更新项目 |
| POST | /projects/{id}/timeline/items/batch-update | 批量更新项目 |
| PATCH | /projects/{id}/timeline/items/{itemId}/volume | 设置音量 |
| PATCH | /projects/{id}/timeline/items/{itemId}/transform | 设置变换 |
| POST | /projects/{id}/timeline/pack-clips | 移除间隙 |
| POST | /projects/{id}/timeline/silence-detection | 检测静音 |
| POST | /projects/{id}/timeline/mistake-detection | AI 错误检测 |
| POST | /projects/{id}/timeline/caption-recut | 基于字幕的重新剪辑计划 |
| 方法 | 路径 | 描述 |
|---|---|---|
| POST | /projects/{id}/text-overlays | 添加文本叠加层 |
| PATCH | /projects/{id}/text-overlays/{oid} | 更新文本叠加层 |
| DELETE | /projects/{id}/text-overlays/{oid} | 移除文本叠加层 |
| POST | /projects/{id}/motion-code | 添加动态代码块 |
| PATCH | /projects/{id}/motion-code/{cid} | 更新代码块 |
| POST | /projects/{id}/motion-graphics | 添加动态图形 |
| PATCH | /projects/{id}/motion-graphics/{gid} | 更新动态图形 |
| 方法 | 路径 | 描述 |
|---|---|---|
| POST | /projects/{id}/fill-layers | 添加填充图层 |
| PATCH | /projects/{id}/fill-layers/{lid} | 更新填充图层 |
| 方法 | 路径 | 描述 |
|---|---|---|
| GET | /projects/{id}/context?mode=... | 获取项目上下文 |
| GET | /projects/{id}/timeline/at?time_seconds=X | 时间戳处的项目 |
| POST | /projects/{id}/preview-frame | 渲染单帧预览 |
| POST | /projects/{id}/preview-frames | 渲染多帧预览 |
| POST | /projects/{id}/visual-analysis | 运行结构化帧质量检查 |
| GET | /projects/{id}/visual-debug | 获取机器可读的布局几何信息 |
| POST | /projects/{id}/timeline/undo | 撤销上一个操作 |
| 方法 | 路径 | 描述 |
|---|---|---|
| POST | /projects/{id}/timeline/media-views/{timelineItemId} | 为单个项目更新或插入源视图裁剪/画布状态 |
| POST | /projects/{id}/timeline/media-views/duplicate | 将链接的源视图复制到另一个项目 |
| 方法 | 路径 | 描述 |
|---|---|---|
| POST | /workspace/media/assets/{assetId}/reframe-plan/preview | 在应用前生成重构计划和预览图 |
| 方法 | 路径 | 描述 |
|---|---|---|
| POST | /projects/{id}/export | 开始导出(昂贵) |
| GET | /exports/{exportId} | 导出状态 + 下载 URL |
| GET | /projects/{id}/exports | 导出历史 |
| DELETE | /projects/{id}/exports | 删除所有导出 |
| GET | /jobs/{jobId} | 通用任务轮询 |
| 方法 | 路径 | 描述 |
|---|---|---|
| POST | /projects/{id}/timeline/effects/zoom | 添加缩放效果 |
| POST | /projects/{id}/timeline/effects/mask | 添加遮罩效果 |
| POST | /projects/{id}/timeline/effects/color-grade | 添加色彩分级 |
| POST | /projects/{id}/timeline/items/{itemId}/keyframes | 创建关键帧 |
使用 ?mode= 控制上下文端点返回的数据:
| 模式 | 返回内容 |
|---|---|
summary | 项目元数据、时长、媒体数量 |
assets | 所有带元数据的媒体资源 |
timeline | 完整的时间线,包含项目、图层、时间信息 |
transcript | 来自转录的逐字转录文本 |
full | 所有内容的组合 |
默认值:timeline
bash scripts/editor.sh context PROJECT_ID timeline
bash scripts/editor.sh context PROJECT_ID full
bash scripts/editor.sh upload-url PROJECT_ID "https://example.com/video.mp4"
# 步骤 1:获取预签名 URL
PRESIGNED=$(bash scripts/blitzreels.sh POST /projects/PROJECT_ID/upload/presigned \
'{"fileName":"video.mp4","contentType":"video/mp4"}')
# 步骤 2:上传到预签名 URL
curl -X PUT "$(echo $PRESIGNED | jq -r '.url')" \
-H "Content-Type: video/mp4" \
--data-binary @video.mp4
# 步骤 3:完成上传
bash scripts/blitzreels.sh POST /projects/PROJECT_ID/upload/finalize \
"{\"storageKey\":\"$(echo $PRESIGNED | jq -r '.key')\"}"
references/caption-styles.mdreferences/fill-layers.mdreferences/clipping.md — 长视频转短视频工作流、播客质量检查循环、预览/修复端点references/caption-styles.md — 所有 30+ 个预设、CaptionStyleSettings 模式、动画references/overlays.md — 文本叠加层、动态代码、动态图形模式references/fill-layers.md — 38+ 个背景预设、FillLayerSettings 模式references/timeline-ops.md — 时间线端点、AI 功能、关键帧、效果references/export-settings.md — 导出参数、编解码器、轮询模式examples/edit-uploaded-video.md — 完整的上传→编辑→导出演练examples/enhance-with-overlays.md — 向现有项目添加图形https://www.blitzreels.com/api/v1 作为基础 URL(避免从非 www 重定向)BLITZREELS_ALLOW_EXPENSIVE=1editor.sh export 会自动设置此变量;blitzreels.sh 需要显式选择加入https://www.blitzreels.com/api/openapi.json| 套餐 | 请求/分钟 | 请求/天 |
|---|---|---|
| 免费版 | 10 | 100 |
| 轻量版 | 30 | 1,000 |
| 创作者版 | 60 | 5,000 |
| 企业版 | 120 | 20,000 |
每周安装量
30
仓库
首次出现
2026年2月12日
安全审计
安装于
gemini-cli30
opencode30
github-copilot29
codex29
amp29
kimi-cli29
Edit videos via the BlitzReels API: upload media, transcribe, edit timeline, apply captions, add overlays and backgrounds, then export.
If the task is specifically long-form to shorts, podcast-to-shorts, suggestion-backed clipping, or public automatic-layout reframe planning, prefer the blitzreels-clipping skill first and come back here for lower-level timeline work.
Important: project preview and visual QA endpoints now exist. Use them when an agent needs to verify framing, caption placement, or layout visually before export.
# Upload a video from URL
bash scripts/editor.sh upload-url PROJECT_ID "https://example.com/video.mp4"
# Add to timeline and transcribe
bash scripts/editor.sh add-media PROJECT_ID MEDIA_ID
bash scripts/editor.sh transcribe PROJECT_ID MEDIA_ID
# Trim, caption, export
bash scripts/editor.sh trim PROJECT_ID ITEM_ID 1.0 -2.0
bash scripts/editor.sh captions PROJECT_ID viral-center
bash scripts/editor.sh export PROJECT_ID --resolution 1080p
POST /projects {"name":"...", "aspect_ratio":"9:16"}editor.sh upload-url (URL import) or 2-step presigned uploadeditor.sh add-media places media on the timelineeditor.sh transcribe generates word-level captionseditor.sh context to see timeline stateeditor.sh captions <presetId> for styled subtitleseditor.sh export renders final video with download URLscripts/editor.shSubcommand wrapper for common editing operations.
| Command | Usage | Description |
|---|---|---|
upload-url | <projectId> <url> [name] | Upload media from URL |
transcribe | <projectId> <mediaId> | Transcribe + poll until done |
context | <projectId> [mode] | Get project context (default: timeline) |
timeline-at |
Run bash scripts/editor.sh --help for full usage.
scripts/blitzreels.shGeneric API helper for direct endpoint calls. Use for overlays, effects, and advanced operations where editor.sh doesn't have a shortcut.
bash scripts/blitzreels.sh METHOD /path [JSON_BODY]
| Variable | Required | Description |
|---|---|---|
BLITZREELS_API_KEY | Yes | API key (br_live_...) |
BLITZREELS_API_BASE_URL | No | Override base URL (default: https://www.blitzreels.com/api/v1) |
BLITZREELS_ALLOW_EXPENSIVE | No | Set to 1 for export calls via blitzreels.sh |
| Method | Path | Description |
|---|---|---|
| POST | /projects | Create project |
| GET | /projects/{id} | Get project details |
| PATCH | /projects/{id} | Update project settings |
| DELETE | /projects/{id} | Delete project |
| GET | /projects | List projects |
| Method | Path | Description |
|---|---|---|
| POST | /projects/{id}/media | Import media from URL |
| POST | /projects/{id}/upload/presigned | Get presigned upload URL |
| POST | /projects/{id}/upload/finalize | Finalize presigned upload |
| Method | Path | Description |
|---|---|---|
| POST | /projects/{id}/transcribe | Start transcription job |
| GET | /jobs/{jobId} | Poll job status |
| GET | /projects/{id}/context?mode=transcript | Get transcript |
| POST | /projects/{id}/captions/regenerate | Re-transcribe media |
| Method | Path | Description |
|---|---|---|
| POST | /projects/{id}/captions | Apply caption preset |
| GET | /projects/{id}/captions/style | Get current style |
| PATCH | /projects/{id}/captions/style | Update style settings |
| GET | /projects/{id}/captions/presets | List presets by category |
| PATCH | /projects/{id}/captions/{captionId} |
| Method | Path | Description |
|---|---|---|
| POST | /projects/{id}/timeline/media | Add media to timeline |
| POST | /projects/{id}/timeline/trim | Trim item by deltas |
| POST | /projects/{id}/timeline/split | Split item at timestamp |
| DELETE | /projects/{id}/timeline/items/{itemId} | Delete item |
| PATCH | /projects/{id}/timeline/items/{itemId} |
| Method | Path | Description |
|---|---|---|
| POST | /projects/{id}/text-overlays | Add text overlay |
| PATCH | /projects/{id}/text-overlays/{oid} | Update text overlay |
| DELETE | /projects/{id}/text-overlays/{oid} | Remove text overlay |
| POST | /projects/{id}/motion-code | Add animated code block |
| PATCH | /projects/{id}/motion-code/{cid} |
| Method | Path | Description |
|---|---|---|
| POST | /projects/{id}/fill-layers | Add fill layer |
| PATCH | /projects/{id}/fill-layers/{lid} | Update fill layer |
| Method | Path | Description |
|---|---|---|
| GET | /projects/{id}/context?mode=... | Get project context |
| GET | /projects/{id}/timeline/at?time_seconds=X | Items at timestamp |
| POST | /projects/{id}/preview-frame | Render one still preview |
| POST | /projects/{id}/preview-frames | Render multiple still previews |
| POST | /projects/{id}/visual-analysis |
| Method | Path | Description |
|---|---|---|
| POST | /projects/{id}/timeline/media-views/{timelineItemId} | Upsert source-view crop/canvas state for one item |
| POST | /projects/{id}/timeline/media-views/duplicate | Duplicate a linked source view to another item |
| Method | Path | Description |
|---|---|---|
| POST | /workspace/media/assets/{assetId}/reframe-plan/preview | Generate a reframe plan plus preview stills before apply |
| Method | Path | Description |
|---|---|---|
| POST | /projects/{id}/export | Start export (expensive) |
| GET | /exports/{exportId} | Export status + download URL |
| GET | /projects/{id}/exports | Export history |
| DELETE | /projects/{id}/exports | Delete all exports |
| GET | /jobs/{jobId} |
| Method | Path | Description |
|---|---|---|
| POST | /projects/{id}/timeline/effects/zoom | Add zoom effect |
| POST | /projects/{id}/timeline/effects/mask | Add mask effect |
| POST | /projects/{id}/timeline/effects/color-grade | Add color grade |
| POST | /projects/{id}/timeline/items/{itemId}/keyframes | Create keyframe |
Use ?mode= to control what data the context endpoint returns:
| Mode | Returns |
|---|---|
summary | Project metadata, duration, media count |
assets | All media assets with metadata |
timeline | Full timeline with items, layers, timing |
transcript | Word-level transcript from transcription |
full | Everything combined |
Default: timeline
bash scripts/editor.sh context PROJECT_ID timeline
bash scripts/editor.sh context PROJECT_ID full
bash scripts/editor.sh upload-url PROJECT_ID "https://example.com/video.mp4"
# Step 1: Get presigned URL
PRESIGNED=$(bash scripts/blitzreels.sh POST /projects/PROJECT_ID/upload/presigned \
'{"fileName":"video.mp4","contentType":"video/mp4"}')
# Step 2: Upload to presigned URL
curl -X PUT "$(echo $PRESIGNED | jq -r '.url')" \
-H "Content-Type: video/mp4" \
--data-binary @video.mp4
# Step 3: Finalize
bash scripts/blitzreels.sh POST /projects/PROJECT_ID/upload/finalize \
"{\"storageKey\":\"$(echo $PRESIGNED | jq -r '.key')\"}"
references/caption-styles.mdreferences/fill-layers.mdreferences/clipping.md — Long-form to short workflow, podcast QA loop, preview/repair endpointsreferences/caption-styles.md — All 30+ presets, CaptionStyleSettings schema, animationsreferences/overlays.md — Text overlays, motion code, motion graphics schemasreferences/fill-layers.md — 38+ background presets, FillLayerSettings schemareferences/timeline-ops.md — Timeline endpoints, AI features, keyframes, effectsreferences/export-settings.md — Export params, codecs, polling patternexamples/edit-uploaded-video.md — Full upload→edit→export walkthroughexamples/enhance-with-overlays.md — Adding graphics to existing projecthttps://www.blitzreels.com/api/v1 as base URL (avoid redirect from non-www)BLITZREELS_ALLOW_EXPENSIVE=1editor.sh export sets this automatically; blitzreels.sh requires explicit opt-inhttps://www.blitzreels.com/api/openapi.json| Plan | Requests/min | Requests/day |
|---|---|---|
| Free | 10 | 100 |
| Lite | 30 | 1,000 |
| Creator | 60 | 5,000 |
| Agency | 120 | 20,000 |
Weekly Installs
30
Repository
First Seen
Feb 12, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykWarn
Installed on
gemini-cli30
opencode30
github-copilot29
codex29
amp29
kimi-cli29
通过 LiteLLM 代理让 Claude Code 对接 GitHub Copilot 运行 | 高级变通方案指南
40,000 周安装
Biome 验证器:确保 Biome 2.3+ 配置正确,启用类型感知代码检查与领域配置
121 周安装
fal.ai平台API使用指南:模型管理、定价查询、成本估算与使用追踪
144 周安装
亚马逊飙升榜数据获取工具:跨境电商选品必备,实时发现热销商品与市场趋势
182 周安装
主动式智能体:具备技能管理的自我提升AI代理,支持自动学习与适应
144 周安装
X趋势抓取工具 - 无需账户获取Twitter热门话题的CLI工具 | 支持多国家JSON输出
149 周安装
Apple Calendar 自动化脚本:通过 AppleScript 管理 Mac 日历事件(创建/更新/搜索/删除)
162 周安装
<projectId> <seconds> |
| Get items at timestamp |
trim | <projectId> <itemId> <startDelta> <endDelta> | Trim item edges |
split | <projectId> <itemId> <atSeconds> | Split item at time |
delete-item | <projectId> <itemId> | Delete timeline item |
add-media | <projectId> <mediaId> [startSec] | Add media to timeline |
add-broll | <projectId> <JSON> | Add B-roll clip |
captions | <projectId> <presetId> | Apply caption preset |
export | <projectId> [--resolution R] | Export + poll + download URL |
| Update caption words/timing |
| DELETE | /projects/{id}/captions/{captionId} | Delete caption |
| POST | /projects/{id}/captions/words/emphasis | Emphasize specific words |
| Update item |
| POST | /projects/{id}/timeline/items/batch-update | Batch update items |
| PATCH | /projects/{id}/timeline/items/{itemId}/volume | Set volume |
| PATCH | /projects/{id}/timeline/items/{itemId}/transform | Set transform |
| POST | /projects/{id}/timeline/pack-clips | Remove gaps |
| POST | /projects/{id}/timeline/silence-detection | Detect silences |
| POST | /projects/{id}/timeline/mistake-detection | AI mistake detection |
| POST | /projects/{id}/timeline/caption-recut | Caption-based recut plan |
| Update code block |
| POST | /projects/{id}/motion-graphics | Add motion graphic |
| PATCH | /projects/{id}/motion-graphics/{gid} | Update motion graphic |
| Run structured frame QA |
| GET | /projects/{id}/visual-debug | Get machine-readable layout geometry |
| POST | /projects/{id}/timeline/undo | Undo last action |
| Generic job polling |