# JoggAI — MCP server on mcp.ai > Connect your JoggAI account and use 36 tools for AI content generation straight from your AI agent. Connect with your own API key. JoggAI provides APIs for creating AI avatar, product, lip-sync, template, and translated videos and managing their supporting media assets. By: mcp.ai · official Page: https://mcp.ai/jogg_ai ## Connect (MCP protocol) Remote MCP endpoint (HTTP, streamable): https://api.mcp.ai/p_jogg_ai?ms=1787291400000 Add it as a custom/remote MCP connector, then authenticate when prompted. ## REST API (no MCP client required) Every tool is also a REST endpoint, authed with a workspace API key. Discover: GET https://api.mcp.ai/api/jogg_ai/_endpoints # public; lists every endpoint Call: POST https://api.mcp.ai/api/jogg_ai/ Authorization: Bearer sk_live_… # create one at https://mcp.ai/settings/api-keys Content-Type: application/json Body: { …args } → { "ok": true, "tool": "", "result": { … } } ## Developer docs How to use (MCP or REST), markdown: https://mcp.ai/jogg_ai/skill.md Postman collection (v2.1): https://mcp.ai/jogg_ai/postman.json ## Tools - jogg_ai_animate_photo_avatar(name: string, model: string, photo_id?: string, voice_id: string, image_url: string, description?: string, welcome_msg?: string) — Create a reusable animated avatar from a photo-avatar image. WARNING: this generation creates persistent media and costs at least 2 JoggAI credits; the 2.0-Pro model costs 3 credits. Call GET_ACCOUNT - jogg_ai_animate_product_avatar(name: string, model?: integer, voice_id: string, description: string, aspect_ratio?: string, generation_id: string) — Add motion and a voice to a selected JoggAI product-avatar image generation. WARNING: this call consumes JoggAI credits and creates persistent media; call GET_ACCOUNT first to check the remaining bala - jogg_ai_create_asset_upload_url(filename: string, file_size?: integer, content_type: string) — Create a signed URL for uploading an asset to JoggAI. This does not upload the file bytes; PUT them to sign_url separately, then use asset_url in a generation request, including as a template image or - jogg_ai_create_lip_sync_video(audio_url: string, video_url: string, playback_type?: string) — Start an asynchronous lip-sync video from publicly reachable video and audio URLs. WARNING: this request consumes JoggAI credits; call GET_ACCOUNT first to check the remaining balance. Returns a task - jogg_ai_create_product(url?: string, name?: string, media?: object[], description?: string, target_audience?: string) — Create product information from exactly one source: a product page URL, or manually supplied product details. WARNING: this creates a persistent JoggAI product, and API v2 provides no read or delete p - jogg_ai_create_product_video(audio: object, voice: object, avatar: object, script: object, product_id: string, video_spec: object, webhook_url?: string, visual_style?: string, override_script?: string) — Start a product video using a saved product and nested video, avatar, voice, audio, and script settings. WARNING: this call consumes JoggAI credits and creates persistent media; call GET_ACCOUNT first - jogg_ai_create_product_video_previews(audio: object, voice: object, avatar: object, script: object, product_id: string, video_spec: object, webhook_url?: string, visual_styles: string[], override_script?: string) — Generate product-video previews for one or more visual styles. WARNING: this call consumes JoggAI preview credits and creates persistent previews; API v2 provides no preview delete endpoint. Call GET_ - jogg_ai_create_talking_avatar_video(voice: object, avatar: object, caption?: boolean, video_name?: string, webhook_url?: string, aspect_ratio: string, screen_style: integer) — Start a talking-avatar video using an avatar and either a text script or hosted audio. WARNING: this call consumes JoggAI credits and creates persistent media; call GET_ACCOUNT first to check the rema - jogg_ai_create_template_video(voice_id?: string, avatar_id?: integer, variables: object[], video_name?: string, avatar_type?: integer, template_id: integer, voice_language: string, captions_enabled?: boolean, background_music_id?: integer, disable_all_transitions?: boolean, disable_all_image_effects?: boolean, disable_random_transitions?: boolean, disable_random_image_effects?: boolean) — Start rendering a JoggAI v2 template with typed text, script, image, or video variables and optional avatar, voice, captions, and music settings. WARNING: this call consumes JoggAI credits and creates - jogg_ai_create_webhook(url: string, events: string[], status: string) — Create a JoggAI webhook endpoint with a callback URL, delivery status, and event subscriptions. Returns a one-time sensitive signing secret; store it securely and never log it. - jogg_ai_delete_webhook(endpoint_id: string) — Permanently delete one JoggAI webhook endpoint. WARNING: this operation is irreversible; confirm the endpoint ID before calling it. - jogg_ai_generate_ai_scripts(language: string, product_info: object, script_style: string, target_audience?: string, video_length_seconds: string) — Start asynchronous AI script generation from a saved product or inline product details. WARNING: this request may consume JoggAI credits; call GET_ACCOUNT first to check the remaining balance. Returns - jogg_ai_generate_photo_avatar_image(age: string, model: string, gender: string, ethnicity?: string, image_url?: string, appearance?: string, background?: string, aspect_ratio: string, avatar_style: string) — Start AI photo-avatar image generation using JoggAI's exact demographic, style, model, and aspect-ratio modes. WARNING: this call consumes credits and creates persistent media; documented pricing is 0 - jogg_ai_generate_product_avatar_images(prompt?: string, quality: string, num_images?: integer, webhook_url?: string, aspect_ratio: string, avatar_source: object, product_image_url: string) — Start asynchronous generation of one to four product-avatar images from a public product image and an existing avatar, reference image, or description. WARNING: this call consumes JoggAI credits for p - jogg_ai_get_account() — Return the connected JoggAI user and remaining credit balance. Use this before a credit-consuming generation request; JoggAI does not expose a plan name. - jogg_ai_get_ai_script_task(task_id: string) — Check an AI script generation task and return generated scripts when completed. - jogg_ai_get_lip_sync_video(task_id: string) — Check a lip-sync task and return its output URLs and duration when successful. - jogg_ai_get_photo_avatar(motion_id: string) — Check photo-avatar motion generation and return the reusable avatar details when complete. - jogg_ai_get_photo_avatar_image(photo_id: string) — Check photo-avatar image generation and return the generated image URLs and keys when ready. - jogg_ai_get_product_avatar(motion_id: string) — Check product-avatar motion generation and return the reusable avatar when complete. - jogg_ai_get_product_avatar_image_task(batch_id: string) — Check a product-avatar image generation batch and return its status summary and generated image candidates. - jogg_ai_get_product_video(product_video_id: string) — Check one product video and return its generated media when available. - jogg_ai_get_talking_avatar_video(video_id: string) — Check a talking-avatar video and return its media URLs when completed. - jogg_ai_get_template_video(video_id: string) — Check a template-rendered video and return its output details when complete. - jogg_ai_get_video_translation(video_translate_id: string) — Check a video translation and return translated media when complete. - jogg_ai_list_avatars(age?: string, name?: string, scene?: string, style?: string, cursor?: string, gender?: string, status?: string, ethnicity?: string, page_size?: integer, avatar_kind: string, aspect_ratio?: string) — List public, instant, photo, or product avatars available for JoggAI video generation. Filters vary by avatar kind; returned IDs can be used in generation tools. This toolkit can create photo and prod - jogg_ai_list_creation_assets(age?: string, cursor?: string, gender?: string, language?: string, use_case?: string, page_size?: integer, asset_kind: string, aspect_ratio?: string) — Browse one music, template, visual-style, or voice catalog used to create JoggAI media. Returns one page for music/voice and complete template/style catalogs. - jogg_ai_list_product_previews(cursor?: string, status?: integer, sort_by?: string, page_size?: integer, sort_order?: string) — List generated JoggAI product-video previews and their statuses one page at a time. Preserve the returned preview identifier for selective rendering. - jogg_ai_list_product_videos(cursor?: string, status?: integer, sort_by?: string, page_size?: integer, sort_order?: string) — List product videos with status and sort filters, one bounded page at a time. - jogg_ai_list_translation_languages() — Return currently supported lowercase target-language identifiers for JoggAI video translation. - jogg_ai_list_webhook_events() — Return event identifiers that can be subscribed to by a JoggAI webhook. - jogg_ai_list_webhooks() — List webhook endpoints registered on the connected JoggAI account. Signing secrets are never returned by this tool. - jogg_ai_render_product_video_preview(preview_id: string) — Render one selected product preview into a final video. WARNING: this consumes JoggAI render credits and creates persistent media. - jogg_ai_translate_video(title?: string, video_url: string, callback_url?: string, output_voice?: string, add_subtitles?: boolean, output_language: string, translate_audio_only?: boolean, enable_dynamic_duration?: boolean) — Start asynchronous video translation with optional audio-only translation, dubbing, lip sync, subtitles, and dynamic duration. WARNING: this call consumes JoggAI credits and creates persistent transla - jogg_ai_update_product(name?: string, media?: object[], product_id: string, description?: string, target_audience?: string) — Update an existing JoggAI product's descriptive fields. Supplying media replaces the complete media list; pass an empty list to remove all media. JoggAI API v2 has no product read endpoint, so retain - jogg_ai_update_webhook(url: string, events: string[], status: string, endpoint_id: string) — Fully replace an existing JoggAI webhook's callback URL, delivery status, and event subscriptions. ## Example prompts - "What can I do in JoggAI?" - "Show me a summary of my JoggAI account" ## Links Docs: https://mcp.ai/docs/mcps/jogg_ai Website: https://mcp.ai/mcps/jogg_ai