Skip to main content
Glama

mcp-google-sheets

translate-a-video.ts2.46 kB
import { createAction, Property } from '@activepieces/pieces-framework'; import { HttpMethod } from '@activepieces/pieces-common'; import { heygenApiCall } from '../common/client'; import { heygenAuth } from '../common/auth'; import { brandVoiceDropdown, supportedLanguagesDropdown } from '../common/props'; export const translateVideoAction = createAction({ auth: heygenAuth, name: 'translate_video', displayName: 'Translate Video', description: 'Translate a video into 175+ languages with natural voice and lip-sync.', props: { videoUrl: Property.ShortText({ displayName: 'Video URL', required: true, description: 'URL of the video file to be translated. Supports direct URLs, Google Drive, and YouTube.', }), title: Property.ShortText({ displayName: 'Title', required: false, description: 'Optional title of the translated video.', }), outputLanguage: supportedLanguagesDropdown, translateAudioOnly: Property.Checkbox({ displayName: 'Translate Audio Only', required: false, defaultValue: false, description: 'Only translate the audio without modifying faces.', }), speakerNum: Property.Number({ displayName: 'Number of Speakers', required: false, description: 'Number of speakers in the video (if applicable).', }), brandVoiceId: brandVoiceDropdown, callbackId: Property.ShortText({ displayName: 'Callback ID', required: false, description: 'Custom ID returned in webhook callback.', }), callbackUrl: Property.ShortText({ displayName: 'Callback URL', required: false, description: 'URL to notify when translation is complete.', }), }, async run({ propsValue, auth }) { const { videoUrl, title, outputLanguage, translateAudioOnly, speakerNum, callbackId, brandVoiceId, callbackUrl, } = propsValue; const body: Record<string, unknown> = { video_url: videoUrl, output_language: outputLanguage, }; if (title) body['title'] = title; if (translateAudioOnly) body['translate_audio_only'] = translateAudioOnly; if (speakerNum) body['speaker_num'] = speakerNum; if (callbackId) body['callback_id'] = callbackId; if (brandVoiceId) body['brand_voice_id'] = brandVoiceId; if (callbackUrl) body['callback_url'] = callbackUrl; const response = await heygenApiCall({ apiKey: auth as string, method: HttpMethod.POST, resourceUri: '/video_translate', body, apiVersion: 'v2', }); return response; }, });

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/activepieces/activepieces'

If you have feedback or need assistance with the MCP directory API, please join our Discord server