create_proxy_media
Generate low-resolution proxy media for high-resolution files in Adobe Premiere Pro to enhance editing performance and workflow efficiency.
Instructions
Generates low-resolution proxy versions of high-resolution media to improve editing performance.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| projectItemIds | Yes | An array of IDs of the project items to create proxies for | |
| proxyPreset | Yes | The name of the proxy preset to use | |
| replaceOriginals | No | Whether to replace original media with proxies |
Implementation Reference
- src/tools/index.ts:1848-1887 (handler)The main handler function for the 'create_proxy_media' tool. It constructs and executes an ExtendScript that creates proxy jobs for specified project items using Adobe Premiere Pro's encoder API, filtering valid items and handling errors.private async createProxyMedia(projectItemIds: string[], proxyPreset: string, replaceOriginals = false): Promise<any> { const script = ` try { var projectItems = [${projectItemIds.map(id => `app.project.getProjectItemByID("${id}")`).join(', ')}]; var validItems = projectItems.filter(function(item) { return item !== null; }); if (validItems.length === 0) { JSON.stringify({ success: false, error: "No valid project items found" }); return; } var proxyJob = app.encoder.createProxyJob(validItems, "${proxyPreset}"); if (!proxyJob) { JSON.stringify({ success: false, error: "Failed to create proxy job" }); return; } JSON.stringify({ success: true, message: "Proxy media creation started", proxyPreset: "${proxyPreset}", itemCount: validItems.length, replaceOriginals: ${replaceOriginals} }); } catch (e) { JSON.stringify({ success: false, error: e.toString() }); } `; return await this.bridge.executeScript(script); }
- src/tools/index.ts:361-368 (schema)Zod input schema definition for the 'create_proxy_media' tool, specifying parameters for project item IDs, proxy preset, and optional replacement flag.name: 'create_proxy_media', description: 'Generates low-resolution proxy versions of high-resolution media to improve editing performance.', inputSchema: z.object({ projectItemIds: z.array(z.string()).describe('An array of IDs of the project items to create proxies for'), proxyPreset: z.string().describe('The name of the proxy preset to use'), replaceOriginals: z.boolean().optional().describe('Whether to replace original media with proxies') }) },
- src/tools/index.ts:512-513 (registration)Registration/dispatch in the executeTool switch statement that routes calls to the createProxyMedia handler.case 'create_proxy_media': return await this.createProxyMedia(args.projectItemIds, args.proxyPreset, args.replaceOriginals);