关于 video-format-conversion
video-format-conversion 是用于视频转码和画面比例调整的 each::sense 技能,支持平台定向输出、流媒体优化及批量处理。
主要功能
- 01转换视频格式
- 02转码视频编码
- 03调整画面比例
- 04优化平台输出
- 05设置码率与画质
- 06批量处理视频
适用场景
- 01为 TikTok 制作竖屏视频
- 02生成适合网页播放的视频
- 03导出 ProRes 供剪辑
- 04统一设置转换多个视频
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ eachlabs/ skills --skill video-format-conversion安装后在 Claude Code 中输入/video-format-conversion确认已加载。
附带文件references/SSE-EVENTS.md
详细介绍
视频格式转换
使用 each::sense 在不同格式、编解码器和宽高比之间转换视频。此技能可处理格式转换、编解码器转码、宽高比调整,以及针对各种平台和使用场景的优化。
功能
- 格式转换:在 MP4、WebM、MOV、GIF 等格式之间转换
- 编解码器转码:H.264、H.265/HEVC、VP9、ProRes 等
- 宽高比调整:16:9 转为 9:16、1:1、4:3 和自定义比例
- 平台优化:为 Instagram、TikTok、YouTube、Twitter 优化输出
- 网络流媒体:支持 HLS 的编码和网络优化编码
- 质量控制:码率、分辨率和压缩设置
- 批量处理:依次转换多个视频
快速开始
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Convert this video to MP4 H.264 format optimized for web playback"}],
"model": "eachsense/beta",
"stream": true,
"mode": "max",
"image_urls": ["https://example.com/source-video.mov"]
}'
支持的格式和编解码器
| 格式 | 编解码器 | 使用场景 |
|---|---|---|
| MP4 | H.264、H.265/HEVC | 通用播放、网络、移动设备 |
| WebM | VP9、VP8 | 网络浏览器、更小的文件体积 |
| MOV | ProRes、H.264 | 专业剪辑、Apple 生态系统 |
| GIF | - | 社交媒体、预览、循环播放 |
| MKV | H.264、H.265、VP9 | 归档、高画质 |
宽高比
| 比例 | 分辨率 | 使用场景 |
|---|---|---|
| 16:9 | 1920x1080 | YouTube、标准横屏 |
| 9:16 | 1080x1920 | TikTok、Instagram Reels、Stories |
| 1:1 | 1080x1080 | Instagram 动态、Twitter |
| 4:3 | 1440x1080 | 经典电视、演示文稿 |
| 4:5 | 1080x1350 | Instagram 竖版帖子 |
| 21:9 | 2560x1080 | 电影级超宽屏 |
使用场景示例
1. 转换为 MP4(H.264)
使用 H.264 编解码器进行标准 MP4 转换,以获得最大兼容性。
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Convert this video to MP4 with H.264 codec. Use high quality settings with a bitrate suitable for 1080p playback. Maintain original aspect ratio."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max",
"image_urls": ["https://example.com/source-video.mov"]
}'
2. 转换为 WebM
使用 VP9 编解码器转换为 WebM 格式,以实现高效的网络传输。
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Convert this MP4 video to WebM format using VP9 codec. Optimize for web streaming with good quality at smaller file size. Target around 5 Mbps bitrate."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max",
"image_urls": ["https://example.com/source-video.mp4"]
}'
3. 转换为 GIF
从视频创建动画 GIF,用于社交分享和预览。
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Convert this video to an animated GIF. Use the first 5 seconds, resize to 480px width, and optimize for file size under 10MB. Create a smooth loop if possible."}],
"model": "eachsense/beta",
"stream": true,
"mode": "eco",
"image_urls": ["https://example.com/source-video.mp4"]
}'
4. 将 16:9 转为 9:16(竖屏)
将横屏视频转换为竖屏格式,适用于移动平台。
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Convert this 16:9 landscape video to 9:16 vertical format. Use smart cropping to keep the main subject centered. Output as MP4 H.264 at 1080x1920 resolution."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max",
"image_urls": ["https://example.com/landscape-video.mp4"]
}'
5. 转换为 1:1 方形格式
创建方形视频,适用于 Instagram 动态和 Twitter。
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Convert this video to 1:1 square format at 1080x1080 resolution. Center crop the content and output as MP4 with H.264 codec optimized for social media."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max",
"image_urls": ["https://example.com/widescreen-video.mp4"]
}'
6. 转换为 4:3
经典 4:3 宽高比,适用于演示文稿和旧式显示设备。
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Convert this 16:9 video to 4:3 aspect ratio. Add letterboxing or pillarboxing as needed rather than cropping. Output at 1440x1080 resolution in MP4 format."}],
"model": "eachsense/beta",
"stream": true,
"mode": "eco",
"image_urls": ["https://example.com/widescreen-video.mp4"]
}'
7. 针对网络流媒体优化
创建经过网络优化的视频,支持快速启动和自适应画质。
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Optimize this video for web streaming. Convert to MP4 H.264 with faststart enabled for progressive download. Use 2-pass encoding, target 3-5 Mbps bitrate, AAC audio at 128kbps. Ensure moov atom is at the beginning for instant playback."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max",
"image_urls": ["https://example.com/raw-video.mov"]
}'
8. 转换为 Apple ProRes
专业 ProRes 格式,适用于视频剪辑工作流。
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Convert this video to Apple ProRes 422 format in a MOV container. Maintain original resolution and frame rate. This is for professional editing in Final Cut Pro and DaVinci Resolve."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max",
"image_urls": ["https://example.com/compressed-video.mp4"]
}'
9. 转换为社交媒体格式(Instagram/TikTok)
针对 Instagram Reels 和 TikTok 优化的视频。
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Convert this video for Instagram Reels and TikTok. Use 9:16 aspect ratio at 1080x1920, MP4 H.264 codec, 30fps, and optimize for mobile playback. Keep file size under 100MB and duration under 60 seconds."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max",
"image_urls": ["https://example.com/source-video.mov"]
}'
10. 批量转换多个视频
在单个会话中使用一致的设置处理多个视频。
# Start batch conversion session
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "I need to convert multiple videos to MP4 H.264 format at 1080p. All videos should use the same encoding settings: H.264 High Profile, 8 Mbps bitrate, AAC audio at 192kbps. Start with this first video."}],
"model": "eachsense/beta",
"stream": true,
"session_id": "batch-convert-001",
"mode": "eco",
"image_urls": ["https://example.com/video1.mov"]
}'
# Continue with second video (same session)
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Convert the next video with the same settings."}],
"model": "eachsense/beta",
"stream": true,
"session_id": "batch-convert-001",
"mode": "eco",
"image_urls": ["https://example.com/video2.mov"]
}'
# Continue with third video
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Convert this one too, same format."}],
"model": "eachsense/beta",
"stream": true,
"session_id": "batch-convert-001",
"mode": "eco",
"image_urls": ["https://example.com/video3.mov"]
}'
模式选择
转换前询问用户:
“您想要快速且经济,还是高画质?”
| 模式 | 最适合 | 速度 | 画质 |
|---|---|---|---|
max | 最终交付内容、ProRes、专业工作流 | 较慢 | 最高 |
eco | 快速预览、批量处理、草稿转换 | 较快 | 良好 |
多轮转换会话
使用 session_id 在迭代转换中保留上下文:
# Initial conversion
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Convert this video to MP4 for YouTube at 1080p"}],
"model": "eachsense/beta",
"stream": true,
"session_id": "youtube-upload-project",
"image_urls": ["https://example.com/raw-footage.mov"]
}'
# Request different format from same source
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Now create a vertical version of that same video for YouTube Shorts at 9:16"}],
"model": "eachsense/beta",
"stream": true,
"session_id": "youtube-upload-project"
}'
# Request thumbnail extraction
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Extract a thumbnail from the best frame of that video"}],
"model": "eachsense/beta",
"stream": true,
"session_id": "youtube-upload-project"
}'
平台专属设置
YouTube
- 格式:MP4(H.264)
- 分辨率:1080p 或 4K
- 帧率:与源视频一致(24、30 或 60fps)
- 码率:1080p 为 8-12 Mbps,4K 为 35-45 Mbps
Instagram Reels / TikTok
- 格式:MP4(H.264)
- 宽高比:9:16
- 分辨率:1080x1920
- 时长:不超过 60 秒(Reels)/3 分钟(TikTok)
- 文件大小:不超过 100MB
Twitter/X
- 格式:MP4(H.264)
- 宽高比:16:9、1:1 或 9:16
- 分辨率:最高 1920x1200
- 时长:最长 2:20(140 秒)
- 文件大小:不超过 512MB
- 格式:MP4(H.264)
- 宽高比:16:9 或 1:1
- 分辨率:最高 1080p
- 时长:最长 10 分钟
错误处理
| 错误 | 原因 | 解决方案 |
|---|---|---|
Failed to create prediction: HTTP 422 | 余额不足 | 在 eachlabs.ai 充值 |
| 超时 | 视频文件较大或转换复杂 | 将客户端超时设置为至少 10 分钟 |
| 不支持的格式 | 无法识别源格式 | 先转换为中间格式 |
| 文件过大 | 视频超出大小限制 | 转换前压缩或拆分视频 |
最佳实践
质量
- 最终交付内容和专业输出使用
max模式 - 预览和批处理使用
eco模式 - 指定目标比特率,以便更准确地控制文件大小
- 请求 2 遍编码,以在较低比特率下获得更好的质量
性能
- 视频处理时,将客户端超时设置为至少 10 分钟
- 大批量处理时使用
eco模式,以更快完成 - 测试设置时处理较短的片段
兼容性
- H.264 是兼容性最广泛的编解码器
- WebM/VP9 压缩效果更好,但设备支持较少
- ProRes 非常适合编辑工作流,但会生成较大的文件
- 始终在目标设备/平台上测试输出
相关技能
each-sense- 核心 API 文档video-generation- 根据文本/图像生成视频video-editing- 编辑和增强现有视频
评论
支持 Markdown