Magic Hour
Server Details
Magic Hour MCP lets AI agents create and edit images, videos, and audio using Magic Hour’s hosted generation tools.
- 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
Scored across 53 tools
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.
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.
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.
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 toolsadd_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
idandcredits_charged. For finished results, callwait_for_audio_projectwith that id or pollGET /v1/audio-projects/{id}untilcomplete,error, orcanceled. Results includedownloads; wait helpers addexact_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'sfile_pathafter 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
idandcredits_charged. For finished results, callwait_for_audio_projectwith that id or pollGET /v1/audio-projects/{id}untilcomplete,error, orcanceled. Results includedownloads; wait helpers addexact_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 projectADestructiveIdempotentInspect
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 projectADestructiveIdempotentInspect
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 projectADestructiveIdempotentInspect
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 DownloadARead-onlyIdempotentInspect
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 DownloadARead-onlyIdempotentInspect
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 DownloadARead-onlyIdempotentInspect
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 infoARead-onlyIdempotentInspect
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 projectARead-onlyIdempotentInspect
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 resultsARead-onlyIdempotentInspect
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 projectARead-onlyIdempotentInspect
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 projectARead-onlyIdempotentInspect
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 workflowARead-onlyIdempotentInspect
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 itemsARead-onlyIdempotentInspect
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
pingPingARead-onlyIdempotentInspect
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 voicesARead-onlyIdempotentInspect
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 ProjectARead-onlyIdempotentInspect
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 ProjectARead-onlyIdempotentInspect
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 ProjectARead-onlyIdempotentInspect
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
- AlicenseNot gradedqualityCmaintenanceRemote 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
- AlicenseCqualityCmaintenanceCompetitor Monitor AI - MCP server providing AI-powered tools and automation by MEOK AI Labs117 npm46 PyPIMIT
- AlicenseAqualityDmaintenanceEnables 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.169 npm1MIT

industrylens-mcpofficial
AlicenseNot gradedqualityCmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.