Skip to main content
Glama

Server Details

Magic Hour MCP lets AI agents create and edit images, videos, and audio using Magic Hour’s hosted generation tools.

Ownership verified
Status
Healthy
Uptime
100.0% over the last 24 hours
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
Magic Hour AI
Claude
–

TDQS

A3.7/5.0

Scored across 53 tools

Disambiguation3/5

Most tools name a distinct creative operation, and descriptions actively cross-reference siblings (e.g. create_talking_photo vs create_lip_sync_video vs create_spoken_ad_video), which helps a lot. However, 53 tools include several near-synonyms that are easy to misselect: create_gif_or_short_video / create_animation / create_video_from_text / create_video_from_image / create_video_from_audio, and three parallel result-retrieval paths (get_*_project, wait_for_*_project, fetch_*_download). upload_chatgpt_image also substantially duplicates upload_chatgpt_media.

Naming Consistency3/5

The dominant convention is verb_noun snake_case (generate_image, swap_face_in_video, remove_image_background), applied consistently across most of the surface. But there are clear deviations: voices_list inverts to noun_verb, and ai_voice_cloner_create_audio / ai_voice_generator_create_audio bolt a subject prefix onto an already verb-led name, breaking the pattern used everywhere else.

Tool Count2/5

At 53 tools the surface is far too large for what is essentially a media-generation API, well into the '25+ is heavy' band. Several operations are near-duplicates (multiple video creators, redundant upload helpers, three result-retrieval mechanisms), so the count reflects sprawl rather than distinct capability.

Completeness4/5

Coverage is genuinely broad: create/list/get/wait/fetch/delete across image, video and audio projects, plus uploads, account info, voice listing and a workflow guide. Minor gaps remain — there is no tool to list project history or cancel an in-flight job, so agents must track ids themselves and poll rather than enumerate.

Available Tools

53 tools
add_subtitles_to_videoAdd subtitles to videoAInspect

Adds automatically generated subtitles to a supplied video segment using a subtitle preset or custom text styling. Starts a background job that costs credits; returns a project id for wait_for_video_project. Before choosing settings, read get_account_info and the current parameter constraints. A listed model, resolution, duration or count is not necessarily available together or on this account. Preserve explicit requirements and all supplied inputs; explain a genuine block instead of submitting an incompatible request. Account balance alone does not prove a request is affordable. For attached ChatGPT files, upload with upload_chatgpt_media and pass its returned file_path. Reuse existing Magic Hour paths only from the connected account. Do not pass a filename, chat-local path or file ID as a file path.

Inputs: style (required), assets (required), end_seconds (required), start_seconds (required), +1 more. Returns: Success

ai_voice_cloner_create_audioAI Voice ClonerAInspect

MCP guidance:

  • Starts an async audio job; returns id and credits_charged. For finished results, call wait_for_audio_project with that id or poll GET /v1/audio-projects/{id} until complete, error, or canceled. Results include downloads; wait helpers add exact_download_urls. Preserve signed URLs and query parameters; never append expiration metadata.

  • For *_file_path, use an existing Magic Hour path or the upload-URL endpoint's file_path after uploading raw bytes to its presigned URL. Direct public media URLs may work if stable and fetchable as raw bytes; hotlinked URLs can fail. Prefer the upload-URL endpoint when unsure.

Clone a voice from an audio sample and generate speech.

  • Each character costs 0.1 credits.

  • The cost is rounded up to the nearest whole number Before choosing settings, read get_account_info and the current parameter constraints. A listed model, resolution, duration or count is not necessarily available together or on this account. Preserve explicit requirements and all supplied inputs; explain a genuine block instead of submitting an incompatible request. Account balance alone does not prove a request is affordable. Use only a recording of your own voice or a voice you have permission to clone. Do not impersonate or deceive others.

Inputs: style (required), assets (required), name. Returns: Success

ai_voice_generator_create_audioAI Voice GeneratorAInspect

MCP guidance:

  • Starts an async audio job; returns id and credits_charged. For finished results, call wait_for_audio_project with that id or poll GET /v1/audio-projects/{id} until complete, error, or canceled. Results include downloads; wait helpers add exact_download_urls. Preserve signed URLs and query parameters; never append expiration metadata.

Generate speech from text. Each character costs 0.1 credits. The cost is rounded up to the nearest whole number. Before choosing settings, read get_account_info and the current parameter constraints. A listed model, resolution, duration or count is not necessarily available together or on this account. Preserve explicit requirements and all supplied inputs; explain a genuine block instead of submitting an incompatible request. Account balance alone does not prove a request is affordable.

Inputs: style (required), name. Returns: Success

change_clothes_in_photoChange clothes in photoAInspect

Use only with the user's own likeness or content they are authorized to use. Do not use for impersonation, deception, sexual content, or content involving minors.

Changes clothing in a person photo using a supplied garment reference image. Costs 25 credits. Starts a background job; returns a project id for wait_for_image_project. Before choosing settings, read get_account_info and the current parameter constraints. A listed model, resolution, duration or count is not necessarily available together or on this account. Preserve explicit requirements and all supplied inputs; explain a genuine block instead of submitting an incompatible request. Account balance alone does not prove a request is affordable. For attached ChatGPT files, upload with upload_chatgpt_media and pass its returned file_path. Reuse existing Magic Hour paths only from the connected account. Do not pass a filename, chat-local path or file ID as a file path.

Inputs: assets (required), name. Returns: Success

colorize_photoColorize photoAInspect

Colorizes a black-and-white or faded photo. Costs 10 credits; returns a project id for wait_for_image_project. Before choosing settings, read get_account_info and the current parameter constraints. A listed model, resolution, duration or count is not necessarily available together or on this account. Preserve explicit requirements and all supplied inputs; explain a genuine block instead of submitting an incompatible request. Account balance alone does not prove a request is affordable. For attached ChatGPT files, upload with upload_chatgpt_media and pass its returned file_path. Reuse existing Magic Hour paths only from the connected account. Do not pass a filename, chat-local path or file ID as a file path.

Inputs: assets (required), name. Returns: Success

create_animationCreate animationAInspect

Creates a stylized animated video with art and camera settings, using a custom prompt or an audio-derived prompt mode. Can use an initial image and audio. Credits depend on frame rate and duration; returns a project id for wait_for_video_project. Before choosing settings, read get_account_info and the current parameter constraints. A listed model, resolution, duration or count is not necessarily available together or on this account. Preserve explicit requirements and all supplied inputs; explain a genuine block instead of submitting an incompatible request. Account balance alone does not prove a request is affordable. For attached ChatGPT files, upload with upload_chatgpt_media and pass its returned file_path. Reuse existing Magic Hour paths only from the connected account. Do not pass a filename, chat-local path or file ID as a file path.

Inputs: fps (required), style (required), width (required), assets (required), +3 more. Returns: Success

create_gif_or_short_videoCreate GIF or short videoAInspect

Generates a short animation from a text prompt, with GIF, MP4 or WebM output. Costs 50 credits. Starts a background job; returns a project id for wait_for_image_project. Before choosing settings, read get_account_info and the current parameter constraints. A listed model, resolution, duration or count is not necessarily available together or on this account. Preserve explicit requirements and all supplied inputs; explain a genuine block instead of submitting an incompatible request. Account balance alone does not prove a request is affordable.

Inputs: style (required), name, output_format. Returns: Success

create_lip_sync_videoCreate lip sync videoAInspect

Use only with the user's own likeness or content they are authorized to use. Do not use for impersonation, deception, sexual content, or content involving minors.

Use existing video and replacement audio to match the speaker's lip movements to the recording. For a still portrait and existing speech recording, use create_talking_photo. Starts a background job that costs credits; returns a project id for wait_for_video_project. Before choosing settings, read get_account_info and the current parameter constraints. A listed model, resolution, duration or count is not necessarily available together or on this account. Preserve explicit requirements and all supplied inputs; explain a genuine block instead of submitting an incompatible request. Account balance alone does not prove a request is affordable. For attached ChatGPT files, upload with upload_chatgpt_media and pass its returned file_path. Reuse existing Magic Hour paths only from the connected account. Do not pass a filename, chat-local path or file ID as a file path.

Inputs: assets (required), end_seconds (required), start_seconds (required), name, +2 more. Returns: Success

create_memeCreate memeAInspect

Creates a meme from a topic and template selection. Costs 10 credits. Starts a background job; returns a project id for wait_for_image_project. Before choosing settings, read get_account_info and the current parameter constraints. A listed model, resolution, duration or count is not necessarily available together or on this account. Preserve explicit requirements and all supplied inputs; explain a genuine block instead of submitting an incompatible request. Account balance alone does not prove a request is affordable.

Inputs: style (required), name. Returns: Success

create_qr_codeCreate QR codeAInspect

Creates a stylized QR code from supplied text or a URL and an art-style description. Currently costs 0 credits. Starts a background job; returns a project id for wait_for_image_project. Before choosing settings, read get_account_info and the current parameter constraints. A listed model, resolution, duration or count is not necessarily available together or on this account. Preserve explicit requirements and all supplied inputs; explain a genuine block instead of submitting an incompatible request. Account balance alone does not prove a request is affordable.

Inputs: style (required), content (required), name. Returns: Success

create_spoken_ad_videoCreate spoken ad videoAInspect

Use a prepared image and a written script to generate a spoken ad with synthesized dialogue. For a still portrait and an existing speech recording, use create_talking_photo. Starts a background job that costs credits; returns a project id for wait_for_video_project. Before choosing settings, read get_account_info and the current parameter constraints. A listed model, resolution, duration or count is not necessarily available together or on this account. Preserve explicit requirements and all supplied inputs; explain a genuine block instead of submitting an incompatible request. Account balance alone does not prove a request is affordable. For attached ChatGPT files, upload with upload_chatgpt_media and pass its returned file_path. Reuse existing Magic Hour paths only from the connected account. Do not pass a filename, chat-local path or file ID as a file path.

Inputs: assets (required), script (required), end_seconds (required), model, +1 more. Returns: Success

create_talking_photoCreate talking photoAInspect

Use only with the user's own likeness or content they are authorized to use. Do not use for impersonation, deception, sexual content, or content involving minors.

Use a still portrait and an existing speech recording to make the portrait speak. A written script needs audio first. For a prepared ad image and written script, use create_spoken_ad_video. For existing video and replacement audio, use create_lip_sync_video. Starts a background job that costs credits; returns a project id for wait_for_video_project. Before choosing settings, read get_account_info and the current parameter constraints. A listed model, resolution, duration or count is not necessarily available together or on this account. Preserve explicit requirements and all supplied inputs; explain a genuine block instead of submitting an incompatible request. Account balance alone does not prove a request is affordable. For attached ChatGPT files, upload with upload_chatgpt_media and pass its returned file_path. Reuse existing Magic Hour paths only from the connected account. Do not pass a filename, chat-local path or file ID as a file path.

Inputs: assets (required), end_seconds (required), start_seconds (required), name, +2 more. Returns: Success

create_video_from_audioCreate video from audioAInspect

Generates an audio-guided video from a supplied audio track, with an optional starting image and visual prompt. Starts a background job that costs credits; returns a project id for wait_for_video_project. Before choosing settings, read get_account_info and the current parameter constraints. A listed model, resolution, duration or count is not necessarily available together or on this account. Preserve explicit requirements and all supplied inputs; explain a genuine block instead of submitting an incompatible request. Account balance alone does not prove a request is affordable. For attached ChatGPT files, upload with upload_chatgpt_media and pass its returned file_path. Reuse existing Magic Hour paths only from the connected account. Do not pass a filename, chat-local path or file ID as a file path.

Inputs: assets (required), end_seconds (required), name, style, +2 more. Returns: Success

create_video_from_imageCreate video from imageAInspect

Use a still image as the first frame and describe what should move. For a portrait speaking to an existing recording, use create_talking_photo. For a prepared ad image and written script, use create_spoken_ad_video. Starts a background job that costs credits; returns a project id for wait_for_video_project. Before choosing settings, read get_account_info and the current parameter constraints. A listed model, resolution, duration or count is not necessarily available together or on this account. Preserve explicit requirements and all supplied inputs; explain a genuine block instead of submitting an incompatible request. Account balance alone does not prove a request is affordable. For attached ChatGPT files, upload with upload_chatgpt_media and pass its returned file_path. Reuse existing Magic Hour paths only from the connected account. Do not pass a filename, chat-local path or file ID as a file path.

Inputs: assets (required), end_seconds (required), name, audio, +3 more. Returns: Success

create_video_from_textCreate video from textAInspect

Generates a video from a text prompt, with optional supported reference inputs and model settings. To animate an existing starting image, use create_video_from_image. Starts a background job that costs credits; returns a project id for wait_for_video_project. Before choosing settings, read get_account_info and the current parameter constraints. A listed model, resolution, duration or count is not necessarily available together or on this account. Preserve explicit requirements and all supplied inputs; explain a genuine block instead of submitting an incompatible request. Account balance alone does not prove a request is affordable.

Inputs: style (required), end_seconds (required), name, audio, +4 more. Returns: Success

delete_audio_projectDelete audio projectA
DestructiveIdempotent
Inspect

Deletes the audio project and attempts to delete its completed output. Cannot be undone; confirm with the user first.

Inputs: id (required).

delete_image_projectDelete image projectA
DestructiveIdempotent
Inspect

Deletes the image project and attempts to delete its completed output. Cannot be undone; confirm with the user first.

Inputs: id (required).

delete_video_projectDelete video projectA
DestructiveIdempotent
Inspect

Deletes the video project and attempts to delete its completed output. Cannot be undone; confirm with the user first.

Inputs: id (required).

detect_facesDetect facesAInspect

Starts an asynchronous face-detection task for a supplied image or video and returns its id and charge information. Use before a selected-face swap, then retrieve its status and detected faces with get_face_detection_results. Current API documentation describes detection as free; pricing may change.

Inputs: assets (required), confidence_score. Returns: id, credits_charged

edit_face_in_photoEdit face in photoAInspect

Adjusts facial expression, pose and gaze in a supplied photo using numeric controls. Costs 1 credit per edit; output size depends on the subscription tier. Starts a background job; returns a project id for wait_for_image_project. Before choosing settings, read get_account_info and the current parameter constraints. A listed model, resolution, duration or count is not necessarily available together or on this account. Preserve explicit requirements and all supplied inputs; explain a genuine block instead of submitting an incompatible request. Account balance alone does not prove a request is affordable. For attached ChatGPT files, upload with upload_chatgpt_media and pass its returned file_path. Reuse existing Magic Hour paths only from the connected account. Do not pass a filename, chat-local path or file ID as a file path.

Inputs: style (required), assets (required), name. Returns: Success

edit_imageEdit imageAInspect

Edits one or more supplied images using a text prompt. For prompt-only creation use generate_image. Costs credits; returns a project id for wait_for_image_project. Model eligibility depends on the account plan. Read get_account_info first; do not assume an API default is eligible. For a Free account with no requested model, flux-2-klein at 640px with image_count=1 is an available option when it supports the supplied inputs and requested edit. Check the current model's input limits; never drop references or change an explicit model, resolution or count to fit this option. Before choosing settings, read get_account_info and the current parameter constraints. A listed model, resolution, duration or count is not necessarily available together or on this account. Preserve explicit requirements and all supplied inputs; explain a genuine block instead of submitting an incompatible request. Account balance alone does not prove a request is affordable. For attached ChatGPT files, upload with upload_chatgpt_media and pass its returned file_path. Reuse existing Magic Hour paths only from the connected account. Do not pass a filename, chat-local path or file ID as a file path.

Inputs: style (required), assets (required), name, model, +3 more. Returns: Success

edit_videoEdit videoAInspect

Edits the appearance or content of a supplied video segment using a text prompt. Use with a source video, the requested changes and the clip end time. Starts a background job that costs credits; returns a project id for wait_for_video_project. Before choosing settings, read get_account_info and the current parameter constraints. A listed model, resolution, duration or count is not necessarily available together or on this account. Preserve explicit requirements and all supplied inputs; explain a genuine block instead of submitting an incompatible request. Account balance alone does not prove a request is affordable. For attached ChatGPT files, upload with upload_chatgpt_media and pass its returned file_path. Reuse existing Magic Hour paths only from the connected account. Do not pass a filename, chat-local path or file ID as a file path.

Inputs: style (required), assets (required), end_seconds (required), name, +4 more. Returns: Success

fetch_audio_downloadFetch Audio DownloadA
Read-onlyIdempotent
Inspect

Fetch a completed project's audio as inline MCP audio content for compatible clients. Use the exact signed download URL, including query parameters. Requires HTTPS at the configured Magic Hour media host. Read-only; limited to 8 MiB, or a smaller requested max_bytes. Use the signed URL directly for larger files.

Inputs: download_url (required), max_bytes.

fetch_image_downloadFetch Image DownloadA
Read-onlyIdempotent
Inspect

Fetch a completed project's image as inline MCP image content for compatible clients. Use the exact signed download URL, including query parameters. Requires HTTPS at the configured Magic Hour media host. Read-only; limited to 8 MiB, or a smaller requested max_bytes. Use the signed URL directly for larger files.

Inputs: download_url (required), max_bytes.

fetch_video_downloadFetch Video DownloadA
Read-onlyIdempotent
Inspect

Fetch a completed project's video as an embedded MCP binary resource for compatible clients. Use the exact signed download URL, including query parameters. Requires HTTPS at the configured Magic Hour media host. Read-only; limited to 8 MiB, or a smaller requested max_bytes. Use the signed URL directly for larger files.

Inputs: download_url (required), max_bytes.

generate_headshotGenerate headshotAInspect

Creates a headshot from a supplied photo containing one detectable face, with optional appearance instructions. Costs 50 credits. Starts a background job; returns a project id for wait_for_image_project. Before choosing settings, read get_account_info and the current parameter constraints. A listed model, resolution, duration or count is not necessarily available together or on this account. Preserve explicit requirements and all supplied inputs; explain a genuine block instead of submitting an incompatible request. Account balance alone does not prove a request is affordable. For attached ChatGPT files, upload with upload_chatgpt_media and pass its returned file_path. Reuse existing Magic Hour paths only from the connected account. Do not pass a filename, chat-local path or file ID as a file path.

Inputs: assets (required), name, style. Returns: Success

generate_imageGenerate imageAInspect

Generates one or more images from a text prompt, with model, output size and image count options. Costs credits; returns a project id for wait_for_image_project. Before choosing settings, read get_account_info and the current parameter constraints. A listed model, resolution, duration or count is not necessarily available together or on this account. Preserve explicit requirements and all supplied inputs; explain a genuine block instead of submitting an incompatible request. Account balance alone does not prove a request is affordable.

Inputs: style (required), image_count (required), name, model, +2 more. Returns: Success

generate_musicGenerate musicAInspect

Generates music from a description, with optional custom lyrics or instrumental-only output. Costs 1 credit per requested second; returns a project id for wait_for_audio_project. Before choosing settings, read get_account_info and the current parameter constraints. A listed model, resolution, duration or count is not necessarily available together or on this account. Preserve explicit requirements and all supplied inputs; explain a genuine block instead of submitting an incompatible request. Account balance alone does not prove a request is affordable.

Inputs: style (required), duration (required), name. Returns: Success

get_account_infoGet account infoA
Read-onlyIdempotent
Inspect

Returns credit balance and subscription details for the connected account. Use to inspect account information before choosing generation settings. Use tier, not the subscription name or credit balance, for plan access. Read-only; this is not a request-specific cost quote or model-eligibility check.

Inputs: no named parameters. Returns: id, tier, email, credits, +1 more

get_audio_projectGet audio projectA
Read-onlyIdempotent
Inspect

Returns an audio project's status and, once complete, its download URLs. Use to check progress with the id from an audio create tool. Read-only.

Inputs: id (required). Returns: Success

get_face_detection_resultsGet face detection resultsA
Read-onlyIdempotent
Inspect

Returns a face-detection job's status and detected faces. Use with the id from detect_faces to inspect progress and choose face mappings before a selected-face swap. Read-only; faces may populate while processing.

Inputs: id (required). Returns: id, error, faces, status, +1 more

get_image_projectGet image projectA
Read-onlyIdempotent
Inspect

Returns an image project's status and, once complete, its download URLs. Use to check progress with the id from an image create tool. Read-only.

Inputs: id (required). Returns: Success

get_upload_urlsGet upload URLsAInspect

Creates presigned upload URL and file-path pairs for local media. Use when a generation needs a file the user has locally: upload raw bytes to the returned upload_url, then pass its file_path to the create tool. Does not upload file bytes or start a generation.

Inputs: items (required). Returns: Success

get_video_projectGet video projectA
Read-onlyIdempotent
Inspect

Returns a video project's status and, once complete, its download URLs. Use to check progress with the id from a video create tool. Read-only.

Inputs: id (required). Returns: Success

get_workflow_guideChoose a media workflowA
Read-onlyIdempotent
Inspect

Returns required inputs, ordered steps, example requests and review criteria for eight supported Magic Hour workflows. Use when planning a generation, not to run one. Requires authentication but does not check account eligibility or spend credits.

Inputs: workflow (required). Returns: Static workflow planning guidance. Does not verify account access, eligibility,…

list_saved_itemsList saved itemsA
Read-onlyIdempotent
Inspect

Lists the account's active saved characters, references, voice recordings, moodboards and brand kits, newest first. Reusable paths are in each item's assets[].file_path; temporary signed URLs support preview/download. Read-only; pass next_cursor as cursor for the next page.

Inputs: type, limit, cursor. Returns: items, next_cursor

pingPingA
Read-onlyIdempotent
Inspect

Checks that the Magic Hour server is reachable. Use for connectivity troubleshooting; it does not validate API credentials or account access. Makes no media or project changes.

Inputs: no named parameters. Returns: result

place_person_in_scenePlace person in sceneAInspect

Use only with the user's own likeness or content they are authorized to use. Do not use for impersonation, deception, sexual content, or content involving minors.

Places a person from one supplied photo into a supplied scene image. Cost depends on resolution (from 50 credits at 640px); returns a project id for wait_for_image_project. Before choosing settings, read get_account_info and the current parameter constraints. A listed model, resolution, duration or count is not necessarily available together or on this account. Preserve explicit requirements and all supplied inputs; explain a genuine block instead of submitting an incompatible request. Account balance alone does not prove a request is affordable. For attached ChatGPT files, upload with upload_chatgpt_media and pass its returned file_path. Reuse existing Magic Hour paths only from the connected account. Do not pass a filename, chat-local path or file ID as a file path.

Inputs: assets (required), resolution (required), name. Returns: Success

remove_image_backgroundRemove image backgroundAInspect

Removes an image's background, optionally replacing it with another supplied image. Costs 5 credits. Starts a background job; returns a project id for wait_for_image_project. Before choosing settings, read get_account_info and the current parameter constraints. A listed model, resolution, duration or count is not necessarily available together or on this account. Preserve explicit requirements and all supplied inputs; explain a genuine block instead of submitting an incompatible request. Account balance alone does not prove a request is affordable. For attached ChatGPT files, upload with upload_chatgpt_media and pass its returned file_path. Reuse existing Magic Hour paths only from the connected account. Do not pass a filename, chat-local path or file ID as a file path.

Inputs: assets (required), name. Returns: Success

replace_character_in_videoReplace character in videoAInspect

Use only with the user's own likeness or content they are authorized to use. Do not use for impersonation, deception, sexual content, or content involving minors.

Replaces a subject in a video with a character from a reference image, or transfers the video's motion onto that character. Starts a background job that costs credits; returns a project id for wait_for_video_project. Before choosing settings, read get_account_info and the current parameter constraints. A listed model, resolution, duration or count is not necessarily available together or on this account. Preserve explicit requirements and all supplied inputs; explain a genuine block instead of submitting an incompatible request. Account balance alone does not prove a request is affordable. For attached ChatGPT files, upload with upload_chatgpt_media and pass its returned file_path. Reuse existing Magic Hour paths only from the connected account. Do not pass a filename, chat-local path or file ID as a file path.

Inputs: assets (required), end_seconds (required), name, model, +3 more. Returns: Success

restyle_videoRestyle videoAInspect

Restyles an existing video clip with an art-style preset or a custom prompt. Supports v1/v2/v3 presets; v3 requires a supplied reference image and positive source-video width and height. Starts a background job that costs credits; returns a project id for wait_for_video_project. Before choosing settings, read get_account_info and the current parameter constraints. A listed model, resolution, duration or count is not necessarily available together or on this account. Preserve explicit requirements and all supplied inputs; explain a genuine block instead of submitting an incompatible request. Account balance alone does not prove a request is affordable. For attached ChatGPT files, upload with upload_chatgpt_media and pass its returned file_path. Reuse existing Magic Hour paths only from the connected account. Do not pass a filename, chat-local path or file ID as a file path.

Inputs: style (required), assets (required), end_seconds (required), start_seconds (required), +5 more. Returns: Success

swap_face_in_photoSwap face in photoAInspect

Use only with the user's own likeness or content they are authorized to use. Do not use for impersonation, deception, sexual content, or content involving minors.

Swaps faces in a supplied photo using a source face image or selected face mappings. Costs 10 credits; output size depends on subscription. Returns a project id for wait_for_image_project. Before choosing settings, read get_account_info and the current parameter constraints. A listed model, resolution, duration or count is not necessarily available together or on this account. Preserve explicit requirements and all supplied inputs; explain a genuine block instead of submitting an incompatible request. Account balance alone does not prove a request is affordable. For attached ChatGPT files, upload with upload_chatgpt_media and pass its returned file_path. Reuse existing Magic Hour paths only from the connected account. Do not pass a filename, chat-local path or file ID as a file path.

Inputs: assets (required), name. Returns: Success

swap_face_in_videoSwap face in videoAInspect

Use only with the user's own likeness or content they are authorized to use. Do not use for impersonation, deception, sexual content, or content involving minors.

Swaps faces in an existing video: all faces with a reference image, or selected faces using detect_faces results. Starts a background job that costs credits; returns a project id for wait_for_video_project. Before choosing settings, read get_account_info and the current parameter constraints. A listed model, resolution, duration or count is not necessarily available together or on this account. Preserve explicit requirements and all supplied inputs; explain a genuine block instead of submitting an incompatible request. Account balance alone does not prove a request is affordable. For attached ChatGPT files, upload with upload_chatgpt_media and pass its returned file_path. Reuse existing Magic Hour paths only from the connected account. Do not pass a filename, chat-local path or file ID as a file path.

Inputs: assets (required), end_seconds (required), start_seconds (required), name, +1 more. Returns: Success

swap_head_in_photoSwap head in photoAInspect

Use only with the user's own likeness or content they are authorized to use. Do not use for impersonation, deception, sexual content, or content involving minors.

Swaps a head from a supplied image onto a supplied body image. Costs 10 credits; returns a project id for wait_for_image_project. Before choosing settings, read get_account_info and the current parameter constraints. A listed model, resolution, duration or count is not necessarily available together or on this account. Preserve explicit requirements and all supplied inputs; explain a genuine block instead of submitting an incompatible request. Account balance alone does not prove a request is affordable. For attached ChatGPT files, upload with upload_chatgpt_media and pass its returned file_path. Reuse existing Magic Hour paths only from the connected account. Do not pass a filename, chat-local path or file ID as a file path.

Inputs: assets (required), name, max_resolution. Returns: Success

translate_videoTranslate videoAInspect

Translates speech in a supplied video segment into a supported target language. Starts a background job that costs credits; returns a project id for wait_for_video_project. Before choosing settings, read get_account_info and the current parameter constraints. A listed model, resolution, duration or count is not necessarily available together or on this account. Preserve explicit requirements and all supplied inputs; explain a genuine block instead of submitting an incompatible request. Account balance alone does not prove a request is affordable. For attached ChatGPT files, upload with upload_chatgpt_media and pass its returned file_path. Reuse existing Magic Hour paths only from the connected account. Do not pass a filename, chat-local path or file ID as a file path.

Inputs: assets (required), end_seconds (required), target_language (required), name, +2 more. Returns: Success

upload_chatgpt_imageUpload attached imageAInspect

Uploads a PNG, JPEG or WebP image attached in ChatGPT to the connected Magic Hour account. Use this for native ChatGPT photo attachments instead of asking the chat's file runtime to PUT bytes to get_upload_urls. Pass the returned file_path to the existing image or video generation tool. Accepts one image up to 20 MiB. Does not generate media or spend generation credits.

Inputs: image (required). Returns: object

upload_chatgpt_mediaUpload attached mediaAInspect

Uploads one native ChatGPT attachment to the connected Magic Hour account: PNG/JPEG/WebP images, MP4/MOV/WebM video, or MP3/WAV/M4A/FLAC/Ogg/WebM audio, up to 20 MiB. Set media_type to the attachment's actual kind, not the requested output: image, video or audio. For multiple references, call separately and keep each returned file_path paired with the intended input. Pass the real attachment through the file parameter; a bare file ID, filename or chat-local path is not the raw MCP file object. Does not generate media or spend generation credits.

Inputs: file (required), media_type (required). Returns: object

upscale_imageUpscale imageAInspect

Upscales a supplied image 2x or 4x. Cost depends on scale and mode (25-200 credits); returns a project id for wait_for_image_project. Before choosing settings, read get_account_info and the current parameter constraints. A listed model, resolution, duration or count is not necessarily available together or on this account. Preserve explicit requirements and all supplied inputs; explain a genuine block instead of submitting an incompatible request. Account balance alone does not prove a request is affordable. For attached ChatGPT files, upload with upload_chatgpt_media and pass its returned file_path. Reuse existing Magic Hour paths only from the connected account. Do not pass a filename, chat-local path or file ID as a file path.

Inputs: assets (required), scale_factor (required), name, style. Returns: Success

upscale_videoUpscale videoAInspect

Upscales a supplied video segment to a selected output resolution while preserving its aspect ratio. Starts a background job that costs credits; returns a project id for wait_for_video_project. Before choosing settings, read get_account_info and the current parameter constraints. A listed model, resolution, duration or count is not necessarily available together or on this account. Preserve explicit requirements and all supplied inputs; explain a genuine block instead of submitting an incompatible request. Account balance alone does not prove a request is affordable. For attached ChatGPT files, upload with upload_chatgpt_media and pass its returned file_path. Reuse existing Magic Hour paths only from the connected account. Do not pass a filename, chat-local path or file ID as a file path.

Inputs: assets (required), resolution (required), end_seconds (required), name, +1 more. Returns: Success

voices_listList voicesA
Read-onlyIdempotent
Inspect

List the voices available for text-to-speech. Use a voice's id as style.voice_name in the AI Voice Generator API. To fetch the next page, pass the response's next_cursor as cursor.

Inputs: limit, cursor. Returns: voices, next_cursor

wait_for_audio_projectWait for Audio ProjectA
Read-onlyIdempotent
Inspect

Polls an audio project until it completes, errors, is canceled or times out. Use with the id returned by an audio create tool. Read-only; returns the project and download URLs, with optional inline audio previews sharing an 8 MiB total limit. After a timeout, resume with the same id rather than creating another generation. Use signed download URLs exactly as returned.

Inputs: id (required), timeout_seconds, max_inline_downloads, poll_interval_seconds, +2 more. Returns: Existing project status and exact output links. A wait timeout is not a generat…

wait_for_image_projectWait for Image ProjectA
Read-onlyIdempotent
Inspect

Polls an image project until it completes, errors, is canceled or times out. Use with the id returned by an image create tool. Read-only; returns the project and download URLs, with optional inline image previews sharing an 8 MiB total limit. After a timeout, resume with the same id rather than creating another generation. Use signed download URLs exactly as returned.

Inputs: id (required), timeout_seconds, max_inline_downloads, poll_interval_seconds, +2 more. Returns: Existing project status and exact output links. A wait timeout is not a generat…

wait_for_video_projectWait for Video ProjectA
Read-onlyIdempotent
Inspect

Polls a video project until it completes, errors, is canceled or times out. Use with the id returned by a video create tool. Read-only; returns download URLs when complete. After a timeout, resume with the same id rather than creating another generation. Use signed download URLs exactly as returned. Does not inline video content.

Inputs: id (required), timeout_seconds, max_inline_downloads, poll_interval_seconds, +1 more. Returns: Existing project status and exact output links. A wait timeout is not a generat…

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Servers

    • A
      license
      Not graded
      quality
      C
      maintenance
      Remote MCP server that lets AI assistants read tracked competitive intelligence — competitor news, reviews, website changes, social posts and ads — and act on it by managing projects, competitors, battle cards, reports and canvases. Every answer carries a source and a date, and write actions only publish when explicitly shared.
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      Enables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.
      16
      9 npm
      1
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
      MIT
    Try in Browser

    Glama MCP Gateway

    Add one secure layer between your agents and this server.

    Resources