stabilize_clip
Reduce camera shake in Adobe Premiere Pro videos by applying stabilization methods like warp or subspace. Specify clip ID and smoothness (0-100) for precise control over the output.
Instructions
Applies video stabilization to reduce camera shake.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| clipId | Yes | The ID of the clip to stabilize | |
| method | No | Stabilization method | |
| smoothness | No | Stabilization smoothness (0-100) |
Implementation Reference
- src/tools/index.ts:380-387 (registration)Tool registration in getAvailableTools() including name, description, and input schema definition.name: 'stabilize_clip', description: 'Applies video stabilization to reduce camera shake.', inputSchema: z.object({ clipId: z.string().describe('The ID of the clip to stabilize'), method: z.enum(['warp', 'subspace']).optional().describe('Stabilization method'), smoothness: z.number().optional().describe('Stabilization smoothness (0-100)') }) },
- src/tools/index.ts:516-517 (registration)Dispatcher case in executeTool() that routes to the stabilizeClip handler.case 'stabilize_clip': return await this.stabilizeClip(args.clipId, args.method, args.smoothness);
- src/tools/index.ts:1934-1978 (handler)Core handler implementation: applies 'Warp Stabilizer' effect to the clip, sets smoothness and method via ExtendScript.private async stabilizeClip(clipId: string, method = 'warp', smoothness = 50): Promise<any> { const script = ` try { var clip = app.project.getClipByID("${clipId}"); if (!clip) { JSON.stringify({ success: false, error: "Clip not found" }); return; } var stabilizationEffect = clip.addEffect("Warp Stabilizer"); if (!stabilizationEffect) { JSON.stringify({ success: false, error: "Failed to add stabilization effect" }); return; } // Configure stabilization settings try { stabilizationEffect.properties["Smoothness"].setValue(${smoothness / 100}); stabilizationEffect.properties["Method"].setValue("${method}"); } catch (e) { // Some properties might not be available } JSON.stringify({ success: true, message: "Video stabilization applied successfully", clipId: "${clipId}", method: "${method}", smoothness: ${smoothness} }); } catch (e) { JSON.stringify({ success: false, error: e.toString() }); } `; return await this.bridge.executeScript(script);
- src/tools/index.ts:382-386 (schema)Zod input schema for validating tool parameters.inputSchema: z.object({ clipId: z.string().describe('The ID of the clip to stabilize'), method: z.enum(['warp', 'subspace']).optional().describe('Stabilization method'), smoothness: z.number().optional().describe('Stabilization smoothness (0-100)') })