关于 video-stabilization
video-stabilization 是通过 each::sense 减少视频画面抖动的技能,适用于内容创作者和视频制作团队。它提供轻度、标准和强力稳定模式,并可平衡画面平滑度与裁切幅度。
主要功能
- 01减少相机抖动与画面震颤
- 02稳定手持及运动相机素材
- 03支持步行、无人机和车辆素材
- 04轻度、标准及强力模式
- 05平衡稳定效果与画面裁切
适用场景
- 01平滑手机手持拍摄素材
- 02减少步行或跑步片段的颠簸
- 03稳定无人机或行车记录仪视频
- 04保留纪录片式运镜并减少抖动
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ eachlabs/ skills --skill video-stabilization安装后在 Claude Code 中输入/video-stabilization确认已加载。
附带文件references/SSE-EVENTS.md
详细介绍
视频稳定
使用 each::sense 稳定抖动的视频素材。此技能会应用智能运动校正,消除相机抖动、平滑手持拍摄的素材,并将各种来源的视频处理成稳定、专业的效果。
功能
- 抖动消除:校正轻微不稳定素材中的基本相机抖动
- 手持稳定:平滑手机或相机拍摄素材中的自然手部移动
- 运动相机:稳定高动态的 GoPro 和运动相机素材
- 步行/跑步:修正拍摄时移动造成的颠簸和抖动
- 无人机素材:平滑受风力或振动影响的航拍素材
- 车载素材:稳定行车记录仪和车内拍摄的视频
- 低光照:处理在复杂光照条件下拍摄的抖动素材
- 锁定镜头:强力稳定,呈现类似三脚架拍摄的效果
- 轻度稳定:在减少抖动的同时保留自然的相机运动
- 裁剪优化:平衡稳定强度与画面裁剪程度
快速开始
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": "Stabilize this shaky video, remove the camera shake"}],
"model": "eachsense/beta",
"stream": true,
"mode": "max",
"video_urls": ["https://example.com/shaky-video.mp4"]
}'
稳定模式
| 模式 | 说明 | 适用场景 |
|---|---|---|
| 轻度 | 轻度稳定,保留自然运动 | 纪录片、视频博客风格 |
| 标准 | 平衡消除抖动 | 通用场景 |
| 强力 | 最大程度稳定,锁定镜头 | 专业拍摄、类似三脚架的效果 |
使用场景示例
1. 基本抖动消除
校正轻微不稳定素材中的基本相机抖动。
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": "Stabilize this video and remove the camera shake. Apply standard stabilization."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max",
"video_urls": ["https://example.com/shaky-footage.mp4"]
}'
2. 手持素材稳定
平滑智能手机或相机拍摄素材中的自然手部移动。
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": "This is handheld smartphone footage. Stabilize it to look smoother while keeping it natural, not too robotic. Remove the jitter from hand movement."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max",
"video_urls": ["https://example.com/handheld-phone-video.mp4"]
}'
3. 运动相机素材稳定
稳定极限运动中的高动态 GoPro 和运动相机素材。
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": "Stabilize this GoPro action camera footage. It has significant shake from mountain biking. Apply strong stabilization to smooth out the bumps while preserving the sense of motion."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max",
"video_urls": ["https://example.com/gopro-mtb-footage.mp4"]
}'
4. 修正步行/跑步素材
消除步行拍摄素材中的颠簸和垂直抖动。
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": "Fix this walking footage. Remove the up and down bounce from each step while keeping the forward motion smooth. The camera was handheld while walking through a market."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max",
"video_urls": ["https://example.com/walking-market-footage.mp4"]
}'
5. 平滑无人机素材
平滑受风力、振动或云台问题影响的航拍素材。
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": "Stabilize this drone footage. There is micro-vibration and some wind shake affecting the shot. Make it smooth and cinematic for a real estate showcase video."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max",
"video_urls": ["https://example.com/drone-aerial-footage.mp4"]
}'
6. 稳定汽车/车载素材
稳定行车记录仪、车内或车载摄像头拍摄的素材。
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": "Stabilize this dashcam footage from a car driving on rough roads. Remove the vibration and bumps from the road while keeping the driving perspective stable."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max",
"video_urls": ["https://example.com/dashcam-rough-road.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": "Stabilize this low light concert footage. It was shot handheld at night with significant shake. Be careful with the stabilization as low light footage can show more artifacts. Prioritize smooth motion over aggressive correction."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max",
"video_urls": ["https://example.com/concert-lowlight-shaky.mp4"]
}'
8. 强力稳定(锁定镜头)
最大程度稳定,呈现类似三脚架固定拍摄的效果。
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": "Apply aggressive stabilization to lock this shot completely. I want it to look like it was shot on a tripod. Remove all camera movement and shake. It is okay to crop more of the frame if needed for maximum stability."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max",
"video_urls": ["https://example.com/interview-handheld.mp4"]
}'
9. 轻度稳定(保留自然运动)
保留自然的相机运动,仅减少明显抖动。
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": "Apply subtle stabilization to this documentary footage. I want to keep the natural handheld feel and intentional camera movements, but remove only the unwanted micro-shakes and jitter. Do not make it look too smooth or artificial."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max",
"video_urls": ["https://example.com/documentary-handheld.mp4"]
}'
10. 稳定与裁剪优化
在尽量减少画面裁剪的同时平衡稳定强度。
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": "Stabilize this footage but optimize for minimal cropping. The framing is important and I cannot lose too much of the edges. Find the best balance between stabilization quality and preserving the original frame as much as possible."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max",
"video_urls": ["https://example.com/tight-framing-shaky.mp4"]
}'
模式选择
处理前请询问用户:
“您想要快速处理还是最高画质?”
| 模式 | 适用场景 | 速度 | 画质 |
|---|---|---|---|
max | 最终交付内容、专业项目 | 较慢 | 最高 |
eco | 快速预览、草稿审阅、大批量处理 | 较快 | 良好 |
多轮稳定工作流
使用 session_id 迭代调整稳定设置:
# Initial stabilization
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": "Stabilize this shaky video footage"}],
"model": "eachsense/beta",
"stream": true,
"session_id": "stabilize-project-001",
"video_urls": ["https://example.com/shaky-video.mp4"]
}'
# Request adjustment
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": "The stabilization is too aggressive, it looks artificial. Can you apply a more subtle stabilization that keeps some natural movement?"}],
"model": "eachsense/beta",
"stream": true,
"session_id": "stabilize-project-001"
}'
# Further refinement
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": "Good, but now there is too much cropping. Can you reduce the crop while maintaining similar stabilization?"}],
"model": "eachsense/beta",
"stream": true,
"session_id": "stabilize-project-001"
}'
批量处理多个视频
使用一致的设置处理多个视频:
# Video 1
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": "Stabilize this video with medium strength stabilization"}],
"model": "eachsense/beta",
"stream": true,
"mode": "eco",
"video_urls": ["https://example.com/clip1.mp4"]
}'
# Video 2
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": "Stabilize this video with medium strength stabilization"}],
"model": "eachsense/beta",
"stream": true,
"mode": "eco",
"video_urls": ["https://example.com/clip2.mp4"]
}'
# Video 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": "Stabilize this video with medium strength stabilization"}],
"model": "eachsense/beta",
"stream": true,
"mode": "eco",
"video_urls": ["https://example.com/clip3.mp4"]
}'
最佳实践
输入视频质量
- 分辨率:更高分辨率的素材能获得更好的稳定效果
- 帧率:更高的帧率(60fps+)可实现更平滑的稳定效果
- 编解码器:使用高质量源文件,避免输入高度压缩的素材
稳定设置
- 从轻度开始:先使用较轻的稳定效果,需要时再增强
- 考虑裁剪:稳定效果越强,需要裁剪的画面越多
- 风格一致:同一项目中的片段应保持稳定效果一致
常见场景
| 场景 | 建议做法 |
|---|---|
| 采访/人物讲话 | 强力稳定/锁定镜头 |
| 纪录片/视频博客 | 轻度稳定,保持自然观感 |
| 体育/动作场景 | 中等稳定,保留运动感 |
| 无人机/航拍 | 中等至强力稳定 |
| 徒步游览 | 中等稳定,减少颠簸 |
| 低光照 | 轻度稳定,避免出现伪影 |
视频稳定处理的提示词建议
请求稳定处理时,请包含以下详细信息:
- 素材类型:拍摄素材的相机或设备是什么?
- 抖动原因:步行、车辆、风、手持等。
- 期望效果:固定镜头、自然观感、流畅但富有动感
- 裁剪容忍度:构图是否关键,还是可以灵活调整?
- 使用场景:社交媒体、专业用途、纪录片等。
提示词结构示例
"Stabilize this [source type] footage.
The shake is caused by [cause].
I want [desired result] stabilization.
[Cropping preference].
This is for [use case]."
错误处理
| 错误 | 原因 | 解决方案 |
|---|---|---|
Failed to create prediction: HTTP 422 | 余额不足 | 前往 eachlabs.ai 充值 |
| 不支持的视频格式 | 编解码器不兼容 | 转换为 MP4/H.264 |
| 超时 | 视频处理时间过长 | 将客户端超时时间设为至少 10 分钟 |
| 裁剪过多 | 抖动过于严重 | 使用轻微模式,或接受更大幅度的裁剪 |
相关技能
each-sense- 核心 API 文档video-edit- 通用视频编辑功能video-generation- AI 视频生成
评论
支持 Markdown