Google Vids MCP Server
October 16, 2026
Table of contents
The useapi.net Google Vids MCP server lets an AI assistant such as Claude Code, Cursor or VS Code Copilot make videos with Google Vids on your own Google accounts. It is a hosted Model Context Protocol server with 16 tools: generate Gemini Omni 1.1 Flash clips with sound and speech from text, a start image or up to 3 references, extend, upscale and edit them, make images, upload your own pictures, and create voiced avatars that speak the lines you write. Each tool calls the Google Vids API, so the same rules and limits apply. Nothing needs to be installed or hosted.
Endpoint and authorization
https://api.useapi.net/v1/google-vids/mcp
- Transport: Streamable HTTP.
- Listed in the official MCP Registry as
net.useapi/google-vids, so MCP clients and directories that read the registry can find it by that name. - Authorization: your useapi.net API token in the
Authorization: Bearer …header, see Setup useapi.net. - You need at least one Google account added with Setup Google Vids. Adding and removing accounts is not available over MCP: use POST /accounts or the setup page.
Setup
Replace YOUR_API_TOKEN with your useapi.net API token.
Claude Code
claude mcp add --transport http useapi-google-vids https://api.useapi.net/v1/google-vids/mcp --header "Authorization: Bearer YOUR_API_TOKEN"
Cursor
In ~/.cursor/mcp.json:
{
"mcpServers": {
"useapi-google-vids": {
"url": "https://api.useapi.net/v1/google-vids/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_TOKEN"
}
}
}
}
VS Code
In .vscode/mcp.json:
{
"servers": {
"useapi-google-vids": {
"type": "http",
"url": "https://api.useapi.net/v1/google-vids/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_TOKEN"
}
}
}
}
Windsurf and other clients
Any client that supports remote MCP servers over HTTP with custom headers works. The usual JSON shape:
{
"mcpServers": {
"useapi-google-vids": {
"serverUrl": "https://api.useapi.net/v1/google-vids/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_TOKEN"
}
}
}
}
Some clients name the address field url instead of serverUrl.
Test it with curl
curl -s https://api.useapi.net/v1/google-vids/mcp \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"curl","version":"1"}}}'
curl -s https://api.useapi.net/v1/google-vids/mcp \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/list"}'
The first call answers with the server’s name useapi-google-vids and its instructions for the assistant, the second with the 16 tools.
Tools
Clips, images, uploads and avatars are named by the ids the tools return, and each id carries its account, so a follow-up runs on the account that holds its inputs. Tools that start a job take an optional email to pick the account.
Accounts
| Tool | What it does | Main parameters |
|---|---|---|
vids_list_accounts | Lists your accounts with health, maxJobs and the plan’s monthly limits. | |
vids_get_account | Checks one account live: signed in or not, and what is left of this month’s video seconds and images. | email |
vids_update_account | Sets maxJobs, the jobs an account runs at once. | email, maxJobs |
Videos and images
| Tool | What it does | Main parameters |
|---|---|---|
vids_create_video | Generates a 3 to 10 second clip with sound and speech from text, from a start image, or from up to 3 references (images and avatars, named in the prompt as @referenceImage_1 or @avatar_1). | prompt, duration, aspectRatio, resolution, startImage, referenceImage_1..3, avatar_1..3, email |
vids_extend_video | Adds 3 to 10 seconds to a clip and returns the whole clip, up to about 41 seconds. | mediaId, prompt, duration |
vids_upscale_video | Turns a 720p clip of up to 20 seconds into 1080p. | mediaId |
vids_edit_video | Changes a clip by prompt: colours, objects, style. | video, prompt, duration |
vids_create_image | Generates one JPEG in one of 7 styles, returned as an image the assistant can see. | prompt, aspectRatio, style, email |
vids_get_job | Reads a job, and with wait: true waits for it to finish. | jobid, wait |
vids_list_jobs | Lists the jobs running now and each account’s running count against maxJobs. |
The parameters match POST /videos, POST /videos/extend, POST /videos/upscale, POST /videos/edit and POST /images.
Files, avatars and voices
| Tool | What it does | Main parameters |
|---|---|---|
vids_upload_asset | Uploads your own JPEG, PNG or WebP image from a public https URL of up to 50 MB, or sent as contentBase64, and returns an assetId for startImage or referenceImage_N. | url or contentBase64, mimeType, email |
vids_get_media | Checks a mediaId and returns its download URL. An image also comes back as an image the assistant can see. | mediaId |
vids_list_voices | Lists the 30 Gemini voices with their style and preview audio. | |
vids_list_avatars | Lists the avatars saved on your accounts, including ones made in the Google Vids web app. | email |
vids_create_avatar | Makes a voiced avatar from a description of the person (appearance), which uses 1 image of the account’s allowance, or from an image made with vids_create_image. A drawn avatar comes back as an image. | name, voice, appearance, outfit, shot, expression, details, image, email |
vids_delete_avatar | Deletes an avatar. | avatarId |
The full input schema of every tool comes from tools/list.
Long-running work
MCP clients usually give up on a tool call after about a minute, so a tool waits up to about 50 seconds:
- An image usually finishes in about 10 seconds, and the tool returns it.
- A
720pclip often finishes in that time. A1080pclip, an extend, an upscale or an edit takes longer. The tool then returns thejobid, andvids_get_jobwithwait: truepicks it up. Ask the assistant to keep checking until it is done. vids_create_avataranswers in about 10 to 40 seconds.
Clients that ask for progress notifications get one about every 10 seconds while a tool waits.
Clips come back as a mediaId with a download URL. Fetch it with the same Authorization header, and download soon, since Google keeps the files only for a while, see How long files last.
Example prompts
- “Make a 10-second 1080p clip of a fox running through a snowy forest at dawn.”
- “Make a photo of a red bicycle in a Lisbon street, then turn it into a clip where someone rides it away.”
- “Create an avatar of a cheerful chef in her fifties with the Neo voice, then make a portrait clip where she says: ‘Today we bake bread.’”
- “Upload this product photo and make a clip of my avatar holding it and talking about it.”
- “Extend the last clip by 8 seconds with the camera pulling back, then upscale it to 1080p.”
- “How many video seconds are left on my Vids accounts this month?”
Limits and notes
- The tools use your Google accounts and the same rules as the REST API, such as
maxJobs. Video seconds and images count against the account’s monthly Vids allowance, see Plans and monthly allowances. - Custom connectors on claude.ai need OAuth sign-in, which this server does not support yet. Use Claude Code or another client that can send an
Authorizationheader. - A client may send up to 20 JSON-RPC requests in one batch.
- If the client sends an
MCP-Protocol-Versionheader, it must be one of the supported versions:2025-06-18,2025-03-26or2024-11-05. - Every tool call shows in your usage stats (
bot=google-vids) as modelmcp, with the tool name as its status, orfailed.