create_multicam_sequence
Synchronize multiple video clips into a multicamera sequence using audio, timecode, or markers, streamlining multi-angle editing 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 |
|---|---|---|---|
| cameraFiles | Yes | An array of absolute file paths for each camera angle | |
| name | Yes | The name for the new multicam sequence | |
| syncMethod | Yes | The method to use for synchronizing the clips |
Implementation Reference
- src/tools/index.ts:1808-1847 (handler)Handler function implementing the create_multicam_sequence tool. Constructs and executes an ExtendScript via the PremiereProBridge to create a multicam source from camera files using the specified sync method and then a sequence from it.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-359 (schema)Input schema definition for the create_multicam_sequence tool using Zod validation, defining parameters: name (string), cameraFiles (array of strings), syncMethod (enum: timecode/audio/markers).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 of the tool handler in the executeTool switch statement, mapping the tool name to the createMulticamSequence method call.case 'create_multicam_sequence': return await this.createMulticamSequence(args.name, args.cameraFiles, args.syncMethod);