video-stabilization

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Video Stabilization

视频稳定处理

Stabilize shaky video footage using each::sense. This skill applies intelligent motion correction to remove camera shake, smooth handheld footage, and create professional-looking stable video from various sources.
借助each::sense稳定抖动的视频素材。该技能通过智能运动校正消除画面抖动,让手持拍摄素材更流畅,并能从各类来源生成具有专业质感的稳定视频。

Features

功能特性

  • Shake Removal: Basic camera shake correction for mildly unstable footage
  • Handheld Stabilization: Smooth out natural hand movement from phone/camera footage
  • Action Camera: Stabilize high-motion GoPro and action camera footage
  • Walking/Running: Fix bounce and shake from movement while filming
  • Drone Footage: Smooth aerial footage affected by wind or vibration
  • Vehicle Footage: Stabilize dashcam and in-car recording
  • Low Light: Handle shaky footage shot in challenging lighting conditions
  • Lock Shot: Aggressive stabilization for tripod-like results
  • Subtle Stabilization: Preserve natural camera movement while reducing shake
  • Crop Optimization: Balance stabilization strength with frame cropping
  • 抖动消除:针对轻微不稳定素材的基础画面抖动校正
  • 手持素材稳定:平滑手机/相机拍摄素材中的自然手部运动抖动
  • 运动相机适配:稳定GoPro等运动相机拍摄的高动态素材
  • 步行/奔跑拍摄修复:消除行走或奔跑拍摄时的弹跳与抖动
  • 无人机素材优化:平滑受风力或振动影响的航拍素材
  • 车载素材稳定:稳定行车记录仪及车内拍摄素材
  • 低光场景处理:应对复杂光线条件下拍摄的抖动素材
  • 锁定画面模式:强力稳定,实现类似三脚架拍摄的效果
  • 轻度稳定模式:保留自然相机运动轨迹的同时减少抖动
  • 裁剪优化:平衡稳定强度与画面裁剪比例

Quick Start

快速开始

bash
curl -X POST https://sense.eachlabs.run/chat \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "message": "Stabilize this shaky video, remove the camera shake",
    "mode": "max",
    "video_urls": ["https://example.com/shaky-video.mp4"]
  }'
bash
curl -X POST https://sense.eachlabs.run/chat \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "message": "Stabilize this shaky video, remove the camera shake",
    "mode": "max",
    "video_urls": ["https://example.com/shaky-video.mp4"]
  }'

Stabilization Modes

稳定模式说明

ModeDescriptionBest For
SubtleLight stabilization, keeps natural movementDocumentary, vlog style
StandardBalanced shake removalGeneral purpose
AggressiveMaximum stabilization, locked shotProfessional, tripod-like
模式说明适用场景
Subtle轻度稳定,保留自然运动轨迹纪录片、vlog风格
Standard平衡型抖动消除通用场景
Aggressive最大化稳定,锁定画面专业制作、类似三脚架拍摄效果

Use Case Examples

应用场景示例

1. Basic Shake Removal

1. 基础抖动消除

Simple camera shake correction for mildly unstable footage.
bash
curl -X POST https://sense.eachlabs.run/chat \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "message": "Stabilize this video and remove the camera shake. Apply standard stabilization.",
    "mode": "max",
    "video_urls": ["https://example.com/shaky-footage.mp4"]
  }'
针对轻微不稳定素材的简单画面抖动校正。
bash
curl -X POST https://sense.eachlabs.run/chat \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "message": "Stabilize this video and remove the camera shake. Apply standard stabilization.",
    "mode": "max",
    "video_urls": ["https://example.com/shaky-footage.mp4"]
  }'

2. Handheld Footage Stabilization

2. 手持素材稳定

Smooth out natural hand movement from smartphone or camera footage.
bash
curl -X POST https://sense.eachlabs.run/chat \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "message": "This is handheld smartphone footage. Stabilize it to look smoother while keeping it natural, not too robotic. Remove the jitter from hand movement.",
    "mode": "max",
    "video_urls": ["https://example.com/handheld-phone-video.mp4"]
  }'
平滑智能手机或相机拍摄素材中的自然手部运动抖动。
bash
curl -X POST https://sense.eachlabs.run/chat \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "message": "This is handheld smartphone footage. Stabilize it to look smoother while keeping it natural, not too robotic. Remove the jitter from hand movement.",
    "mode": "max",
    "video_urls": ["https://example.com/handheld-phone-video.mp4"]
  }'

3. Action Camera Stabilization

3. 运动相机素材稳定

Stabilize high-motion GoPro and action camera footage from extreme sports.
bash
curl -X POST https://sense.eachlabs.run/chat \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "message": "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.",
    "mode": "max",
    "video_urls": ["https://example.com/gopro-mtb-footage.mp4"]
  }'
稳定极限运动中GoPro等运动相机拍摄的高动态素材。
bash
curl -X POST https://sense.eachlabs.run/chat \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "message": "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.",
    "mode": "max",
    "video_urls": ["https://example.com/gopro-mtb-footage.mp4"]
  }'

4. Walking/Running Footage Fix

4. 步行/奔跑拍摄修复

Remove bounce and vertical shake from footage shot while moving on foot.
bash
curl -X POST https://sense.eachlabs.run/chat \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "message": "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.",
    "mode": "max",
    "video_urls": ["https://example.com/walking-market-footage.mp4"]
  }'
消除步行拍摄时的弹跳与垂直抖动。
bash
curl -X POST https://sense.eachlabs.run/chat \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "message": "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.",
    "mode": "max",
    "video_urls": ["https://example.com/walking-market-footage.mp4"]
  }'

5. Drone Footage Smoothing

5. 无人机素材平滑

Smooth aerial footage affected by wind, vibration, or gimbal issues.
bash
curl -X POST https://sense.eachlabs.run/chat \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "message": "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.",
    "mode": "max",
    "video_urls": ["https://example.com/drone-aerial-footage.mp4"]
  }'
平滑受风力、振动或云台问题影响的航拍素材。
bash
curl -X POST https://sense.eachlabs.run/chat \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "message": "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.",
    "mode": "max",
    "video_urls": ["https://example.com/drone-aerial-footage.mp4"]
  }'

6. Car/Vehicle Footage Stabilization

6. 车载素材稳定

Stabilize dashcam, in-car, or vehicle-mounted camera footage.
bash
curl -X POST https://sense.eachlabs.run/chat \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "message": "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.",
    "mode": "max",
    "video_urls": ["https://example.com/dashcam-rough-road.mp4"]
  }'
稳定行车记录仪、车内或车载相机拍摄的素材。
bash
curl -X POST https://sense.eachlabs.run/chat \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "message": "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.",
    "mode": "max",
    "video_urls": ["https://example.com/dashcam-rough-road.mp4"]
  }'

7. Low Light Shaky Footage

7. 低光抖动素材处理

Handle shaky footage shot in challenging low-light conditions.
bash
curl -X POST https://sense.eachlabs.run/chat \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "message": "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.",
    "mode": "max",
    "video_urls": ["https://example.com/concert-lowlight-shaky.mp4"]
  }'
应对复杂弱光条件下拍摄的抖动素材。
bash
curl -X POST https://sense.eachlabs.run/chat \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "message": "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.",
    "mode": "max",
    "video_urls": ["https://example.com/concert-lowlight-shaky.mp4"]
  }'

8. Aggressive Stabilization (Lock Shot)

8. 强力稳定(锁定画面)

Maximum stabilization for tripod-like locked shot results.
bash
curl -X POST https://sense.eachlabs.run/chat \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "message": "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.",
    "mode": "max",
    "video_urls": ["https://example.com/interview-handheld.mp4"]
  }'
最大化稳定,实现类似三脚架拍摄的锁定画面效果。
bash
curl -X POST https://sense.eachlabs.run/chat \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "message": "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.",
    "mode": "max",
    "video_urls": ["https://example.com/interview-handheld.mp4"]
  }'

9. Subtle Stabilization (Keep Natural Movement)

9. 轻度稳定(保留自然运动)

Preserve natural camera movement while only reducing noticeable shake.
bash
curl -X POST https://sense.eachlabs.run/chat \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "message": "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.",
    "mode": "max",
    "video_urls": ["https://example.com/documentary-handheld.mp4"]
  }'
保留自然相机运动轨迹,仅消除明显的抖动。
bash
curl -X POST https://sense.eachlabs.run/chat \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "message": "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.",
    "mode": "max",
    "video_urls": ["https://example.com/documentary-handheld.mp4"]
  }'

10. Stabilize and Crop Optimization

10. 稳定与裁剪优化

Balance stabilization strength with minimal frame cropping.
bash
curl -X POST https://sense.eachlabs.run/chat \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "message": "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.",
    "mode": "max",
    "video_urls": ["https://example.com/tight-framing-shaky.mp4"]
  }'
平衡稳定强度与最小化画面裁剪。
bash
curl -X POST https://sense.eachlabs.run/chat \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "message": "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.",
    "mode": "max",
    "video_urls": ["https://example.com/tight-framing-shaky.mp4"]
  }'

Mode Selection

模式选择建议

Ask your users before processing:
"Do you want fast processing or maximum quality?"
ModeBest ForSpeedQuality
max
Final deliverables, professional projectsSlowerHighest
eco
Quick previews, draft reviews, high volumeFasterGood
处理前请询问用户:
"您需要快速处理还是最高质量输出?"
模式适用场景速度质量
max
最终交付成果、专业项目较慢最高
eco
快速预览、草稿审核、批量处理较快良好

Multi-Turn Stabilization Workflow

多轮稳定工作流

Use
session_id
to iterate on stabilization settings:
bash
undefined
使用
session_id
迭代调整稳定设置:
bash
undefined

Initial stabilization

初始稳定处理

curl -X POST https://sense.eachlabs.run/chat
-H "Content-Type: application/json"
-H "X-API-Key: $EACHLABS_API_KEY"
-H "Accept: text/event-stream"
-d '{ "message": "Stabilize this shaky video footage", "session_id": "stabilize-project-001", "video_urls": ["https://example.com/shaky-video.mp4"] }'
curl -X POST https://sense.eachlabs.run/chat
-H "Content-Type: application/json"
-H "X-API-Key: $EACHLABS_API_KEY"
-H "Accept: text/event-stream"
-d '{ "message": "Stabilize this shaky video footage", "session_id": "stabilize-project-001", "video_urls": ["https://example.com/shaky-video.mp4"] }'

Request adjustment

请求调整参数

curl -X POST https://sense.eachlabs.run/chat
-H "Content-Type: application/json"
-H "X-API-Key: $EACHLABS_API_KEY"
-H "Accept: text/event-stream"
-d '{ "message": "The stabilization is too aggressive, it looks artificial. Can you apply a more subtle stabilization that keeps some natural movement?", "session_id": "stabilize-project-001" }'
curl -X POST https://sense.eachlabs.run/chat
-H "Content-Type: application/json"
-H "X-API-Key: $EACHLABS_API_KEY"
-H "Accept: text/event-stream"
-d '{ "message": "The stabilization is too aggressive, it looks artificial. Can you apply a more subtle stabilization that keeps some natural movement?", "session_id": "stabilize-project-001" }'

Further refinement

进一步优化

curl -X POST https://sense.eachlabs.run/chat
-H "Content-Type: application/json"
-H "X-API-Key: $EACHLABS_API_KEY"
-H "Accept: text/event-stream"
-d '{ "message": "Good, but now there is too much cropping. Can you reduce the crop while maintaining similar stabilization?", "session_id": "stabilize-project-001" }'
undefined
curl -X POST https://sense.eachlabs.run/chat
-H "Content-Type: application/json"
-H "X-API-Key: $EACHLABS_API_KEY"
-H "Accept: text/event-stream"
-d '{ "message": "Good, but now there is too much cropping. Can you reduce the crop while maintaining similar stabilization?", "session_id": "stabilize-project-001" }'
undefined

Batch Processing Multiple Videos

批量处理多个视频

Process multiple videos with consistent settings:
bash
undefined
使用统一设置处理多个视频:
bash
undefined

Video 1

视频1

curl -X POST https://sense.eachlabs.run/chat
-H "Content-Type: application/json"
-H "X-API-Key: $EACHLABS_API_KEY"
-H "Accept: text/event-stream"
-d '{ "message": "Stabilize this video with medium strength stabilization", "mode": "eco", "video_urls": ["https://example.com/clip1.mp4"] }'
curl -X POST https://sense.eachlabs.run/chat
-H "Content-Type: application/json"
-H "X-API-Key: $EACHLABS_API_KEY"
-H "Accept: text/event-stream"
-d '{ "message": "Stabilize this video with medium strength stabilization", "mode": "eco", "video_urls": ["https://example.com/clip1.mp4"] }'

Video 2

视频2

curl -X POST https://sense.eachlabs.run/chat
-H "Content-Type: application/json"
-H "X-API-Key: $EACHLABS_API_KEY"
-H "Accept: text/event-stream"
-d '{ "message": "Stabilize this video with medium strength stabilization", "mode": "eco", "video_urls": ["https://example.com/clip2.mp4"] }'
curl -X POST https://sense.eachlabs.run/chat
-H "Content-Type: application/json"
-H "X-API-Key: $EACHLABS_API_KEY"
-H "Accept: text/event-stream"
-d '{ "message": "Stabilize this video with medium strength stabilization", "mode": "eco", "video_urls": ["https://example.com/clip2.mp4"] }'

Video 3

视频3

curl -X POST https://sense.eachlabs.run/chat
-H "Content-Type: application/json"
-H "X-API-Key: $EACHLABS_API_KEY"
-H "Accept: text/event-stream"
-d '{ "message": "Stabilize this video with medium strength stabilization", "mode": "eco", "video_urls": ["https://example.com/clip3.mp4"] }'
undefined
curl -X POST https://sense.eachlabs.run/chat
-H "Content-Type: application/json"
-H "X-API-Key: $EACHLABS_API_KEY"
-H "Accept: text/event-stream"
-d '{ "message": "Stabilize this video with medium strength stabilization", "mode": "eco", "video_urls": ["https://example.com/clip3.mp4"] }'
undefined

Best Practices

最佳实践

Input Video Quality

输入视频质量

  • Resolution: Higher resolution footage gives better stabilization results
  • Frame Rate: Higher frame rates (60fps+) provide smoother stabilization
  • Codec: Use high-quality source files, avoid heavily compressed inputs
  • 分辨率:更高分辨率的素材能获得更好的稳定效果
  • 帧率:更高帧率(60fps及以上)可实现更流畅的稳定处理
  • 编码格式:使用高质量源文件,避免过度压缩的输入素材

Stabilization Settings

稳定设置建议

  • Start Subtle: Begin with lighter stabilization and increase if needed
  • Consider Cropping: More aggressive stabilization requires more cropping
  • Match Style: Keep stabilization consistent across clips in the same project
  • 从轻度开始:先使用轻度稳定,若效果不足再逐步增强
  • 考虑裁剪:更激进的稳定处理需要更多画面裁剪
  • 风格统一:同一项目中的所有素材保持稳定设置一致

Common Scenarios

常见场景推荐方案

ScenarioRecommended Approach
Interview/talking headAggressive/lock shot
Documentary/vlogSubtle, natural feel
Sports/actionMedium, preserve motion
Drone/aerialMedium to aggressive
Walking tourMedium, reduce bounce
Low lightSubtle, avoid artifacts
场景推荐处理方式
访谈/特写镜头强力稳定/锁定画面
纪录片/vlog轻度稳定,保留自然质感
体育/动作场景中度稳定,保留运动感
无人机/航拍中度至强力稳定
步行游览中度稳定,减少弹跳
低光场景轻度稳定,避免产生伪影

Prompt Tips for Video Stabilization

视频稳定提示词技巧

When requesting stabilization, include these details:
  1. Source Type: What camera/device captured the footage?
  2. Shake Cause: Walking, vehicle, wind, handheld, etc.
  3. Desired Result: Lock shot, natural feel, smooth but dynamic
  4. Cropping Tolerance: Is the framing critical or flexible?
  5. Use Case: Social media, professional, documentary, etc.
请求稳定处理时,建议包含以下细节:
  1. 素材来源:拍摄素材的相机/设备类型?
  2. 抖动原因:步行、车载、风力、手持等?
  3. 期望效果:锁定画面、自然质感、流畅且保留动态
  4. 裁剪容忍度:画面构图是否关键或可灵活调整?
  5. 使用场景:社交媒体、专业制作、纪录片等?

Example Prompt Structure

提示词结构示例

"Stabilize this [source type] footage.
The shake is caused by [cause].
I want [desired result] stabilization.
[Cropping preference].
This is for [use case]."
"稳定这段[素材来源]拍摄的素材。
抖动由[原因]导致。
我需要[期望效果]的稳定处理。
[裁剪偏好]。
用于[使用场景]。"

Error Handling

错误处理

ErrorCauseSolution
Failed to create prediction: HTTP 422
Insufficient balanceTop up at eachlabs.ai
Video format not supportedIncompatible codecConvert to MP4/H.264
TimeoutLong video processingSet client timeout to minimum 10 minutes
Excessive croppingToo much shakeUse subtle mode or accept more crop
错误原因解决方案
Failed to create prediction: HTTP 422
余额不足在eachlabs.ai进行充值
视频格式不支持编码格式不兼容转换为MP4/H.264格式
超时视频处理时长过长将客户端超时时间设置为至少10分钟
裁剪过度抖动过于严重使用轻度稳定模式或接受更多画面裁剪

Related Skills

相关技能

  • each-sense
    - Core API documentation
  • video-edit
    - General video editing capabilities
  • video-generation
    - AI video generation
  • each-sense
    - 核心API文档
  • video-edit
    - 通用视频编辑功能
  • video-generation
    - AI视频生成