← All guides

Video Processing with VS Code

Connect FFmpeg Micro to VS Code through GitHub Copilot's MCP support. Process videos from the Copilot chat panel without switching to a terminal or browser.

Setup

Add the MCP server to your project's .mcp.json in the project root:

{
  "mcpServers": {
    "ffmpeg-micro": {
      "type": "http",
      "url": "https://mcp.ffmpeg-micro.com"
    }
  }
}

VS Code with GitHub Copilot reads MCP server configuration from your project. On first use, it opens a browser for OAuth sign-in with your FFmpeg Micro account.

Example prompts

  • “Transcode this video to MP4 at 720p for the marketing site”
  • “Crop the product demo to a vertical format for mobile”
  • “Add the company logo as a watermark to this video”
  • “What's the status of my last transcode job?”

Works with your existing setup

If you already use GitHub Copilot in VS Code, adding FFmpeg Micro is just a config file. Copilot's agent mode picks up the MCP tools automatically, so you can mix video processing requests with your normal coding questions.

The same .mcp.json file works across VS Code, Cursor, Claude Code, and Windsurf, so your whole team can use the same config regardless of their editor.

Troubleshooting

Common problems when running FFmpeg Micro from VS Code, and what to do about each.

No sign-in window
Sign-in happens in a browser window the first time Copilot uses the server. If no window opens, check that the server from Setup is saved with the URL https://mcp.ffmpeg-micro.com, exactly as written there.
Request timed out
transcode_and_wait and run_blueprint_and_wait hold the request open until the job is done, and a long render can outlast a 60-second client timeout. Ask Copilot to start the job and check on it instead: transcode_video then get_transcode, or run_blueprint then get_blueprint_run.
A file on your machine
The tools take URLs. A local file goes up first through request_upload_url and confirm_upload, which hands back the gs:// URL to use as the input.
Download link expired
Download links are signed and short-lived. Ask for a new one and Copilot calls get_download_url again.
Job failed
Ask Copilot what went wrong. get_transcode returns the job's error details, for example a file over your plan's size limit or an empty token balance.

Want to learn more about what you can build? Explore the FFmpeg API for complete documentation, code examples, and workflows.