Skip to main content
Glama

apply_effect

Adds specified visual or audio effects to a selected clip in Adobe Premiere Pro, allowing customization of parameters for precise editing control.

Instructions

Applies a visual or audio effect to a specific clip on the timeline.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
clipIdYesThe ID of the clip to apply the effect to
effectNameYesThe name of the effect to apply (e.g., "Gaussian Blur", "Lumetri Color")
parametersNoKey-value pairs for the effect's parameters

Implementation Reference

  • The handler function `applyEffect` that executes the tool logic by generating and executing an ExtendScript to apply the specified effect to the given clip ID, with optional parameters.
    private async applyEffect(clipId: string, effectName: string, parameters?: Record<string, any>): Promise<any> { const script = ` try { var clip = app.project.getClipByID("${clipId}"); if (!clip) { JSON.stringify({ success: false, error: "Clip not found" }); return; } var effect = clip.addEffect("${effectName}"); if (!effect) { JSON.stringify({ success: false, error: "Effect not found or could not be applied" }); return; } ${parameters ? Object.entries(parameters).map(([key, value]) => `try { if (effect.properties["${key}"]) effect.properties["${key}"].setValue(${JSON.stringify(value)}); } catch (e) { /* Parameter not found */ }` ).join('\n') : ''} JSON.stringify({ success: true, message: "Effect applied successfully", clipId: "${clipId}", effectName: "${effectName}", effectId: effect.matchName, parametersApplied: ${parameters ? Object.keys(parameters).length : 0} }); } catch (e) { JSON.stringify({ success: false, error: e.toString() }); } `; return await this.bridge.executeScript(script); }
  • The input schema definition for the 'apply_effect' tool, using Zod for validation of clipId, effectName, and optional parameters.
    name: 'apply_effect', description: 'Applies a visual or audio effect to a specific clip on the timeline.', inputSchema: z.object({ clipId: z.string().describe('The ID of the clip to apply the effect to'), effectName: z.string().describe('The name of the effect to apply (e.g., "Gaussian Blur", "Lumetri Color")'), parameters: z.record(z.any()).optional().describe('Key-value pairs for the effect\'s parameters') })
  • The switch case in `executeTool` that registers and dispatches to the applyEffect handler.
    return await this.applyEffect(args.clipId, args.effectName, args.parameters); case 'remove_effect':
  • The tool definition object registered in `getAvailableTools()` method, which lists all available MCP tools.
    name: 'apply_effect', description: 'Applies a visual or audio effect to a specific clip on the timeline.', inputSchema: z.object({ clipId: z.string().describe('The ID of the clip to apply the effect to'), effectName: z.string().describe('The name of the effect to apply (e.g., "Gaussian Blur", "Lumetri Color")'), parameters: z.record(z.any()).optional().describe('Key-value pairs for the effect\'s parameters') })
  • TypeScript declaration of the applyEffect method in the built types.
    private applyEffect;

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/hetpatel-11/Adobe_Premiere_Pro_MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server