create_multicam_sequence
Create synchronized multicamera sequences from multiple video clips using audio or timecode alignment in Adobe Premiere Pro.
Instructions
Creates a multicamera source sequence from multiple video clips, synchronized by audio or timecode.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | The name for the new multicam sequence | |
| cameraFiles | Yes | An array of absolute file paths for each camera angle | |
| syncMethod | Yes | The method to use for synchronizing the clips |
Implementation Reference
- src/tools/index.ts:1808-1846 (handler)The main handler function that executes the tool. It constructs an ExtendScript that creates a multicam source from the provided camera files using the specified sync method, then creates a sequence from it, and executes it via the bridge.private async createMulticamSequence(name: string, cameraFiles: string[], syncMethod: string): Promise<any> { const script = ` try { var multicamSource = app.project.createMulticamSource("${name}", [${cameraFiles.map(f => `"${f}"`).join(', ')}], "${syncMethod}"); if (!multicamSource) { JSON.stringify({ success: false, error: "Failed to create multicam source" }); return; } var sequence = app.project.createSequenceFromMulticamSource("${name}", multicamSource); if (!sequence) { JSON.stringify({ success: false, error: "Failed to create sequence from multicam source" }); return; } JSON.stringify({ success: true, message: "Multicam sequence created successfully", name: "${name}", sequenceId: sequence.sequenceID, cameraCount: ${cameraFiles.length}, syncMethod: "${syncMethod}" }); } catch (e) { JSON.stringify({ success: false, error: e.toString() }); } `; return await this.bridge.executeScript(script); }
- src/tools/index.ts:352-358 (schema)Input schema using Zod for validating tool arguments: name (string), cameraFiles (array of strings), syncMethod (enum: timecode, audio, markers). Part of tool registration in getAvailableTools().name: 'create_multicam_sequence', description: 'Creates a multicamera source sequence from multiple video clips, synchronized by audio or timecode.', inputSchema: z.object({ name: z.string().describe('The name for the new multicam sequence'), cameraFiles: z.array(z.string()).describe('An array of absolute file paths for each camera angle'), syncMethod: z.enum(['timecode', 'audio', 'markers']).describe('The method to use for synchronizing the clips') })
- src/tools/index.ts:510-511 (registration)Registration and dispatch in executeTool(): maps the tool name to the handler method call.case 'create_multicam_sequence': return await this.createMulticamSequence(args.name, args.cameraFiles, args.syncMethod);