VideoGen MCP

Crie vídeos, imagens, narrações, músicas e avatares a partir de agentes de IA através da API oficial do VideoGen.

Servidor MCP hospedado

npx add-mcp 'https://mcp.videogen.io/mcp'

Instala no Claude Code, Codex, Cursor e outros

Documentação

Para Markdown limpo de qualquer página, acrescente .md ao final da URL da página. Para um índice completo da documentação, veja https://docs.videogen.io/llms.txt. Para integração com clientes de IA (Claude Code, Cursor, etc.), conecte-se ao servidor MCP em https://docs.videogen.io/_mcp/server.

Servidor MCP

Conecte o servidor MCP VideoGen MCP (remoto hospedado ou local) que expõe todos os recursos da API VideoGen como ferramentas para Cursor, Claude Desktop, Windsurf e outros clientes MCP.

O servidor MCP VideoGen MCP é um servidor Model Context Protocol que expõe a API VideoGen completa para qualquer cliente MCP. Aponte seu agente para ele e ele poderá gerar vídeos a partir de roteiros, produzir imagens, narrações, músicas e avatares, enviar arquivos, exportar e remixar projetos e gerenciar execuções, tudo autenticado com sua própria chave de API. Ele vem em dois transportes que expõem as mesmas ferramentas: um servidor remoto hospedado (recomendado) e um servidor local.

Nota

Este é o servidor MCP de API, que executa chamadas reais de API. Ele é distinto do MCP de documentação hospedado em https://docs.videogen.io/_mcp/server, que é somente leitura e apenas responde perguntas sobre os documentos. Veja Documentação MCP abaixo.

Conectar

Ambos os transportes encapsulam o @videogen/sdk oficial e expõem as mesmas ferramentas. Obtenha uma chave de API em app.videogen.io/api primeiro: cada chamada de ferramenta é executada como a equipe que possui a chave.

Remoto (recomendado)

O servidor hospedado não precisa de nada para instalar ou atualizar. Aponte seu cliente MCP para o endpoint e envie sua chave como um token de portador:

{
  "mcpServers": {
    "videogen": {
      "url": "https://mcp.videogen.io/mcp",
      "headers": {
        "Authorization": "Bearer sk_videogen_live_..."
      }
    }
  }
}

O servidor hospedado é sem estado e multi-tenant. Sua chave é lida do cabeçalho da requisição, encaminhada apenas para a API VideoGen e nunca armazenada. Como ele roda na nuvem e não tem acesso ao sistema de arquivos da sua máquina, upload_file não está disponível no servidor remoto. Envie arquivos diretamente pela API VideoGen (solicite uma URL de upload pré-assinada e PUT os bytes você mesmo) e depois passe o id vg_file_... retornado para outras ferramentas — ou use o servidor local para arquivos na sua máquina.

Instalação em um clique

Instale o servidor hospedado em um clique e depois autentique com Entrar com VideoGen (ou adicione sua chave de API como um cabeçalho Authorization depois):

Você também pode instalá-lo pela linha de comando:

code --add-mcp '{"name":"videogen","type":"http","url":"https://mcp.videogen.io/mcp"}'

Local (stdio)

O servidor local roda como um subprocesso que seu cliente MCP inicia com npx, então não há nada para instalar antecipadamente. Ele lê sua chave da variável de ambiente VIDEOGEN_API_KEY:

{
  "mcpServers": {
    "videogen": {
      "command": "npx",
      "args": ["-y", "@videogen/mcp"],
      "env": {
        "VIDEOGEN_API_KEY": "sk_videogen_live_..."
      }
    }
  }
}

Sua chave permanece na sua máquina. Ela é passada diretamente para o processo do servidor local e nunca é enviada para qualquer lugar, exceto para a API VideoGen.

VariávelObrigatóriaPadrãoDescrição
VIDEOGEN_API_KEYsomente local—Sua chave de API VideoGen (servidor local). No servidor remoto, a chave viaja no cabeçalho Authorization: Bearer em vez disso.
VIDEOGEN_BASE_URLnãohttps://api.videogen.ioSubstitui a URL base da API upstream (por exemplo, para desenvolvimento local).

Outros clientes MCP

Windsurf, Cline, Goose, Claude Desktop e a maioria dos outros clientes MCP aceitam o mesmo JSON mcpServers mostrado acima (remoto ou local). Adicione o bloco à configuração MCP desse cliente e recarregue:

ClienteOnde adicionar
CursorConfigurações → MCP → Adicionar, ou o link de um clique acima
VS Code.vscode/mcp.json, ou o link de um clique acima
Claude DesktopConfigurações → Desenvolvedor → Editar Config (claude_desktop_config.json)
Claude (web/mobile)Configurações → Conectores → Adicionar conector personalizado — veja Conectar ao Claude
Windsurf~/.codeium/windsurf/mcp_config.json
ClinePainel de Servidores MCP → Configurar Servidores MCP
GooseConfigurações → Extensões → Adicionar, ou ~/.config/goose/config.yaml

Nota

Clientes que suportam MCP remoto via OAuth (Cursor, VS Code, Claude) podem conectar apenas com a URL do servidor e autenticar via Entrar com VideoGen. Clientes sem suporte remoto/OAuth usam o bloco local (stdio) com um VIDEOGEN_API_KEY.

Entrar com VideoGen (OAuth)

Hosts MCP que suportam OAuth — incluindo Claude — podem conectar ao servidor hospedado sem uma chave de API. Cada usuário entra via Entrar com VideoGen e o host chama o servidor em nome dele. O servidor anuncia seu servidor de autorização via metadados de recurso protegido e suporta Registro Dinâmico de Cliente (RFC 7591), então esses hosts descobrem o servidor de autenticação e se registram automaticamente — não há nada para colar além da URL do servidor.

Use https://mcp.videogen.io/mcp para Cursor, Claude, VS Code e outros hosts que seguem desafios OAuth no nível de transporte.

Nota

Cursor: Prefira a configuração remota com uma chave de API Authorization: Bearer acima. O cliente OAuth do Cursor remove componentes de caminho das URLs do servidor de autorização (ele não segue RFC 8414 para emissores de caminho), o que quebra o Entrar com VideoGen contra o Supabase Auth (…/auth/v1). O endpoint hospedado /mcp contorna isso anunciando um servidor de autorização sem caminho em mcp.videogen.io; se o OAuth ainda falhar após uma atualização do Cursor, use uma chave de API.

Conectar ao Claude

  1. No Claude (claude.ai, Claude Desktop ou aplicativos móveis), abra Configurações → Conectores e clique em Adicionar conector personalizado.
  2. Digite a URL do servidor MCP https://mcp.videogen.io/mcp. Deixe os campos ID do Cliente OAuth / Segredo em Configurações avançadas em branco — VideoGen suporta Registro Dinâmico de Cliente, então o Claude se registra automaticamente.
  3. Clique em Conectar e aprove o consentimento do Entrar com VideoGen.

Cada host usa seu próprio redirecionamento OAuth (callback) URL. O servidor de autorização do VideoGen aceita esses automaticamente via Registro Dinâmico de Cliente, então você não precisa configurá-los — eles estão listados aqui para referência:

HostURL de callback (redirecionamento) OAuth
Claude — web, Desktop, mobile, Coworkhttps://claude.ai/api/mcp/auth_callback
Claude Codehttp://localhost/callback e http://127.0.0.1/callback (loopback, independente de porta)

Usuários conectados podem revisar e revogar aplicativos conectados a qualquer momento no painel do desenvolvedor.

Operações de longa duração

Fluxos de trabalho, ferramentas de mídia e exportações de projetos são assíncronos. O servidor MCP encapsula cada um deles como uma ferramenta composta que inicia a operação e, por padrão, faz polling até atingir um estado terminal (succeeded, failed ou cancelled) antes de retornar o resultado final. Cada ferramenta composta aceita estes campos de controle opcionais:

CampoTipoPadrãoDescrição
waitbooleanotrueBloqueia até a operação atingir um estado terminal. Defina false para retornar imediatamente com o id da execução.
pollIntervalMsnúmero—Com que frequência fazer polling enquanto espera, em milissegundos.
timeoutMsnúmero—Tempo máximo para esperar um estado terminal antes de desistir, em milissegundos.

Quando wait é false, use a ferramenta get_* correspondente (por exemplo, get_workflow_run, get_tool_execution) para fazer polling do id retornado você mesmo.

Recursos de orientação

O MCP de API também expõe orientação operacional como recursos MCP estáticos (guidance://getting-started, guidance://async-tasks, guidance://workflows, guidance://tools-vs-workflows) além de ferramentas correspondentes sem argumentos (get_getting_started_guidance, get_async_tasks_guidance, get_workflows_guidance, get_tools_vs_workflows_guidance). Os agentes devem chamar essas ferramentas ao escolher entre fluxos de trabalho e ferramentas de mídia, ao lidar com polling assíncrono no servidor hospedado ou ao seguir o fluxo execução → remix → exportação. Isso é separado do MCP de documentação, que serve o site completo de documentos Fern somente leitura.

Referência de ferramentas

O servidor registra 49 ferramentas: 45 ferramentas de API mais quatro ferramentas de orientação. O transporte remoto também fornece um widget open_uploader somente hospedado. Os ids são strings opacas prefixadas com vg (vg_file_..., vg_enti_..., vg_work_..., vg_tool_..., vg_voic_...).

Fluxos de trabalho (vídeo de ponta a ponta)

FerramentaDescriçãoParâmetros principais
script_to_videoTransforme um roteiro em um vídeo narrado finalizado com visuais e legendas. O roteiro é narrado literalmente. Composto (aguarda por padrão).script, visualStyle, aspectRatio, visualPacing, quality, language, voiceId, voiceSpeed, actorEntityId, avatarQuality, featuredBRollFileIds, workflowAgentContext, scenes, remixActions, + controles de polling
voiceover_to_videoCrie um vídeo narrado a partir de um arquivo de áudio de narração já enviado. Envie com upload_file primeiro. Composto.fileId, visualStyle, aspectRatio, visualPacing, quality, language, captionStyle, logoFileId, workflowAgentContext, scenes, remixActions, + controles de polling
slideshow_to_videoCrie um vídeo narrado a partir de um arquivo PDF ou apresentação de slides já enviado. Envie com upload_file primeiro. Composto.fileId, slideScripts, aspectRatio, language, voiceId, voiceSpeed, actorEntityId, avatarQuality, captionStyle, logoFileId, remixActions, + controles de polling
storyboard_to_videoCrie um vídeo a partir de um storyboard estruturado de cenas. Composto.scenes, actorEntityIds, productEntityIds, defaultGeneration, defaultDurationSeconds, quality, aspectRatio, workflowAgentContext, remixActions, + controles de polling
prompt_to_video_clipCrie um projeto e gere um clipe curto de vídeo com IA a partir de um prompt de texto (quadro inicial, depois animar). Composto. Não aceita remixActions.prompt, imageFileIds, durationSeconds, aspectRatio, quality, + controles de polling
list_workflow_runsListe execuções de fluxo de trabalho, das mais recentes primeiro.cursor, limit, selfOnly
get_workflow_runBusque o status atual e o resultado de uma única execução de fluxo de trabalho.workflowRunId
cancel_workflow_runSolicite o cancelamento de uma execução de fluxo de trabalho em andamento.workflowRunId

Forneça pelo menos dois remixActions (ex.: ENABLE_CAPTIONS + SET_BACKGROUND_MUSIC) para um resultado refinado. Tipos de ação de remix disponíveis: SET_BACKGROUND_MUSIC, SET_LOGO, ENABLE_CAPTIONS, DISABLE_CAPTIONS, ADD_TRANSITIONS, ADD_ZOOM, RESIZE_PROJECT, CLEAN_UP_TRANSCRIPT, CONVERT_IMAGES_TO_VIDEOS.

Ferramentas de mídia

FerramentaDescriçãoParâmetros-chave
generate_imageGere uma imagem a partir de um prompt de texto, opcionalmente condicionada a imagens de origem. Composta.prompt, quality, imageFileIds, aspectRatio, watermarkMode, numResults, isOutputTemporary, + controles de polling
generate_video_clipGere um clipe de vídeo a partir de um prompt de texto, imagens de origem ou vídeos de origem. Composta.quality (LOW | STANDARD | HIGH | MAX), prompt, startFrameFileId, imageFileIds, videoFileIds, audioFileIds, spokenDialogue, voiceDescription, generateAudio, suppressBackgroundMusic, durationSeconds, aspectRatio, watermarkMode, numResults, isOutputTemporary, + controles de polling
text_to_speechConverta texto em áudio falado usando uma voz selecionável. Composta.ttsText, voiceId, speechLanguageCode, pronunciationReplacements, autoExpandPronunciationReplacements, voiceSpeed, numResults, isOutputTemporary, + controles de polling
generate_sound_effectGere um efeito sonoro a partir de um prompt de texto. Composta.prompt, durationSeconds, promptInfluence, numResults, isOutputTemporary, + controles de polling
generate_musicGere uma faixa musical a partir de um prompt de texto. Composta.prompt, numResults, isOutputTemporary, + controles de polling
generate_motion_graphicGere um vídeo de motion graphics animado a partir de um prompt de texto (experimental, agêntico). Gera uma sobreposição WebM transparente por padrão; defina transparentBackground como false para um MP4 opaco. Composta.prompt, fileIds, durationSeconds, aspectRatio, transparentBackground
generate_avatarGere um vídeo de avatar com cabeça falante a partir de uma entidade de ator e um arquivo de áudio enviado. Composta.actorEntityId, audioFileId, avatarQuality, watermarkMode, numResults, isOutputTemporary, + controles de polling
vectorize_imageConverta uma imagem raster em vetor (SVG). Composta.imageFileId, watermarkMode, numResults, isOutputTemporary, + controles de polling
remove_image_backgroundRemova o fundo de uma imagem. Composta.imageFileId, watermarkMode, numResults, isOutputTemporary, + controles de polling
remove_video_backgroundRemova o fundo de um vídeo. Composta.videoFileId, watermarkMode, numResults, isOutputTemporary, + controles de polling
upscale_imageAumente a resolução de uma imagem. Composta.imageFileId, watermarkMode, numResults, isOutputTemporary, + controles de polling
upscale_videoAumente a resolução de um vídeo. Composta.videoFileId, watermarkMode, numResults, isOutputTemporary, + controles de polling
image_3d_effectAdicione movimento de paralaxe 3D a uma imagem estática, gerando um vídeo. Composta.imageFileId, watermarkMode, numResults, isOutputTemporary, + controles de polling
list_tool_executionsListe execuções de ferramentas passadas, das mais recentes para as mais antigas.cursor, limit, selfOnly
get_tool_executionBusque o status atual e os resultados de uma única execução de ferramenta.toolExecutionId
cancel_tool_executionSolicite o cancelamento de uma execução de ferramenta em andamento.toolExecutionId

Projetos

FerramentaDescriçãoParâmetros-chave
list_projectsListar projetos. Somente criados via API por padrão; passe includeUiProjects para projetos do dashboard também.cursor, limit, selfOnly, includeUiProjects
get_projectBuscar metadados e a URL compartilhável de um único projeto.projectId
export_projectExportar um projeto para MP4. Composto — aguarda até que a URL de download esteja pronta por padrão.projectId, quality (STANDARD | HIGH | FULL_HIGH | ULTRA_HIGH), + controles de polling
get_project_exportBuscar o status atual de uma exportação de projeto. Faça polling até que o status seja sucedido, falhou ou cancelado.projectId, exportId
remix_projectAplicar ações de remix (música, logotipo, legendas, transições, edições em linguagem natural) a um projeto existente.projectId, remixActions, saveAsNewProject
list_project_remix_actionsListar o status das ações de remix aplicadas a um projeto.projectId

Arquivos

FerramentaDescriçãoParâmetros-chave
upload_fileEnviar um arquivo local e aguardar até que seja processado. Retorna o id do arquivo (vg_file_...). Use-o para voiceover_to_video, slideshow_to_video, logotipos ou B-roll. Para enviar um ativo remoto, baixe-o primeiro e passe seu caminho local. Somente servidor local (stdio).filePath, displayName, type (IMAGE | VIDEO | AUDIO)
create_file_uploadCriar um arquivo pendente e retornar uma URL de upload pré-assinada (mesmo que POST /v1/files/upload). Envie os bytes você mesmo via PUT e depois faça polling com get_file.displayName, type, isTemporary, transcript
get_fileBuscar um arquivo por id com URLs assinadas recém-hidratadas para miniatura, pré-visualização e rendições de download.fileId
list_filesListar arquivos visíveis para a chave de API atual.cursor, limit

Somente remoto hospedado:

FerramentaDescriçãoParâmetros-chave
open_uploaderAbrir o widget de upload hospedado para que um humano possa escolher arquivos no navegador (ChatGPT MCP Apps). Não contado nas 46 ferramentas de API acima.—

Entidades

FerramentaDescriçãoParâmetros-chave
list_entitiesListar entidades de catálogo integradas, além das entidades de equipe ACTOR, PRODUCT, VISUAL_STYLE e SLIDESHOW_THEME. Linhas integradas têm isBuiltIn: true e não podem ser atualizadas ou arquivadas.entityType, cursor, limit
create_entityCriar uma entidade. Anexe pelo menos uma imagem depois com add_entity_reference.entityType (ACTOR | PRODUCT | VISUAL_STYLE | SLIDESHOW_THEME), name, description
get_entityBuscar uma entidade e suas imagens de referência.entityId
update_entityAtualizar o nome de exibição e/ou a descrição de uma entidade.entityId, name, description
archive_entityArquivar uma entidade para que ela não apareça mais em listas ou seletores.entityId
add_entity_referenceAnexar uma imagem enviada (vg_file_...) como referência. Use isDefault: true para a miniatura principal.entityId, fileId, description, isDefault
remove_entity_referenceDesanexar uma imagem de referência de uma entidade.entityId, fileId

Orientação

FerramentaDescriçãoParâmetros-chave
get_getting_started_guidanceAutenticação, verifique com get_me, convenções de id, MCP vs SDK. Espelha guidance://getting-started.—
get_async_tasks_guidancePolling, limites de espera hospedados, webhooks fora do MCP. Espelha guidance://async-tasks.—
get_workflows_guidanceExecutar → remixar → exportar e cada ferramenta de fluxo de trabalho. Espelha guidance://workflows.—
get_tools_vs_workflows_guidanceFerramentas de ativo único (roteamento automático de modelo) vs fluxos de trabalho de vídeo completos. Espelha guidance://tools-vs-workflows.—

Recursos e conta

FerramentaDescriçãoParâmetros-chave
list_tts_voicesListar vozes de texto-para-fala disponíveis para narração, text_to_speech e fluxos de trabalho.cursor, limit, includeDeprecatedVoices, query
list_languagesListar idiomas suportados para narração e legendas.query
get_meBuscar a conta e a equipe por trás da chave de API (apiKeyId, apiKeyNickname, email, displayName, teamId). Use como teste de conexão.—
get_app_deep_linkConstruir uma URL de aplicativo VideoGen que abre um modal ou navega após o login (upgrade, comprar créditos, convidar colegas, feedback, integrações, configurações de conta ou um destino NAVIGATE). Prefira isso quando o usuário precisar concluir algo na interface do VideoGen que as ferramentas MCP não podem fazer inline. Nenhuma chave de API necessária.action, além de campos específicos da ação (destination, articleSlug, provider)

Ferramenta MCP para endpoint REST

Cada ferramenta MCP mapeia para um ou mais endpoints REST do VideoGen. Ferramentas compostas chamam o endpoint start e depois fazem polling no endpoint get até o estado terminal.

Ferramenta MCPEndpoint(s) REST
script_to_videoPOST /v1/workflows/script-to-video, depois GET /v1/workflows/runs/{workflowRunId}
voiceover_to_videoPOST /v1/workflows/voiceover-to-video, depois GET /v1/workflows/runs/{workflowRunId}
slideshow_to_videoPOST /v1/workflows/slideshow-to-video, depois GET /v1/workflows/runs/{workflowRunId}
storyboard_to_videoPOST /v1/workflows/storyboard-to-video, depois GET /v1/workflows/runs/{workflowRunId}
prompt_to_video_clipPOST /v1/workflows/prompt-to-video-clip, depois GET /v1/workflows/runs/{workflowRunId}
list_workflow_runsGET /v1/workflows/runs
get_workflow_runGET /v1/workflows/runs/{workflowRunId}
cancel_workflow_runPOST /v1/workflows/runs/{workflowRunId}/cancel
generate_imagePOST /v1/tools/generate-image, depois GET /v1/tools/executions/{toolExecutionId}
generate_video_clipPOST /v1/tools/generate-video-clip, depois GET /v1/tools/executions/{toolExecutionId}
text_to_speechPOST /v1/tools/text-to-speech, depois GET /v1/tools/executions/{toolExecutionId}
generate_sound_effectPOST /v1/tools/generate-sound-effect, depois GET /v1/tools/executions/{toolExecutionId}
generate_musicPOST /v1/tools/generate-music, depois GET /v1/tools/executions/{toolExecutionId}
generate_motion_graphicPOST /v1/tools/generate-motion-graphic, depois GET /v1/tools/executions/{toolExecutionId}
generate_avatarPOST /v1/tools/generate-avatar, depois GET /v1/tools/executions/{toolExecutionId}
vectorize_imagePOST /v1/tools/vectorize-image, depois GET /v1/tools/executions/{toolExecutionId}
remove_image_backgroundPOST /v1/tools/remove-image-background, depois GET /v1/tools/executions/{toolExecutionId}
remove_video_backgroundPOST /v1/tools/remove-video-background, depois GET /v1/tools/executions/{toolExecutionId}
upscale_imagePOST /v1/tools/upscale-image, depois GET /v1/tools/executions/{toolExecutionId}
upscale_videoPOST /v1/tools/upscale-video, depois GET /v1/tools/executions/{toolExecutionId}
image_3d_effectPOST /v1/tools/image-3d-effect, depois GET /v1/tools/executions/{toolExecutionId}
list_tool_executionsGET /v1/tools/executions
get_tool_executionGET /v1/tools/executions/{toolExecutionId}
cancel_tool_executionPOST /v1/tools/executions/{toolExecutionId}/cancel
list_projectsGET /v1/projects
get_projectGET /v1/projects/{projectId}
export_projectPOST /v1/projects/{projectId}/export, depois GET /v1/projects/{projectId}/exports/{exportId}
get_project_exportGET /v1/projects/{projectId}/exports/{exportId}
remix_projectPOST /v1/projects/{projectId}/remix
list_project_remix_actionsGET /v1/projects/{projectId}/remix-actions
upload_filePOST /v1/files/upload, PUT bytes, depois GET /v1/files/{fileId}
create_file_uploadPOST /v1/files/upload
get_filePOST /v1/files/{fileId}/hydrate
list_filesGET /v1/files
open_uploaderWidget de upload hospedado (sem equivalente REST direto)
list_entitiesGET /v1/entities
create_entityPOST /v1/entities
get_entityGET /v1/entities/{entityId}
update_entityPOST /v1/entities/{entityId}/update
archive_entityPOST /v1/entities/{entityId}/archive
add_entity_referencePOST /v1/entities/{entityId}/references
remove_entity_referencePOST /v1/entities/{entityId}/references/remove
list_tts_voicesGET /v1/resources/tts-voices
list_languagesGET /v1/resources/languages
get_meGET /v1/me
get_app_deep_linkDeep link do aplicativo (sem equivalente REST direto)

Exemplos de prompts

Depois que o servidor estiver conectado, pergunte ao seu agente em linguagem natural. Ele seleciona automaticamente a ferramenta correspondente:

  • "Gere um vídeo narrado a partir deste roteiro com legendas e música de fundo" → script_to_video
  • "Envie esta narração e transforme-a em um vídeo" → upload_file depois voiceover_to_video
  • "Crie uma imagem de um carro esportivo vermelho ao pôr do sol" → generate_image
  • "Crie uma entidade de produto a partir desta imagem de pack-shot" → upload_file / open_uploader, depois create_entity + add_entity_reference
  • "Leia este texto em voz alta com um tom calmo" → list_tts_voices depois text_to_speech
  • "Aumente a resolução deste vídeo" → upload_file depois upscale_video
  • "Exporte meu projeto como MP4" → export_project
  • "Adicione música de fundo e um logotipo ao meu projeto" → remix_project
  • "A qual conta e equipe esta chave de API pertence?" → get_me

Documentação MCP

O VideoGen também hospeda um servidor MCP de documentação somente leitura que permite que clientes de IA consultem a documentação da API em tempo real. Ele responde a perguntas sobre a API, mas não a chama. Conecte-o junto (ou em vez de) o servidor de API:

{
  "mcpServers": {
    "videogen-docs": {
      "url": "https://docs.videogen.io/_mcp/server"
    }
  }
}

Links