MCP HeartbeatTHE MCP OBSERVATORY
Public workspace

Explore

Evidence for your next connection.

Independent measurements of remote MCP servers. Every observation has a timestamp.

Read-only probes

MCP server · Code & DevOps

Magic Hour

Create and edit images and video, generate music, and retrieve existing audio projects.

Checks passed
14 / 22

0 failed · 8 not measured

Median response
641 ms

Median of successful probes over 7 days

30-day uptime
Not measured

Share of countable probes over 30 days, including daily rollups. Auth challenges are excluded.

Discovered tools
53

Tool definitions returned by this server

Independent monitoring

Health & checks

Status history

Responded

The server completed its last measured handshake. This is an observation, not a guarantee.

Last checked
Check summary by test group
Test areaPassedFailedUnmeasured
ConnectionCan a client connect and discover tools?
500
Reliability & speedDoes it respond consistently and quickly?
004
Access & authenticationWhat is required to use this server?
102
Tool qualityAre the tool definitions usable by an agent?
400
Publisher identityCan the publisher be traced to its source?
402

Unmeasured means there is not enough evidence to decide. How these checks work

Inspect individual checks 22 recorded

Core

  • Pass
    Reachable

    Latest probe returned HTTP 200 in 641 ms.

  • Pass
    Valid handshake

    protocolVersion 2025-11-25, serverInfo.name magic-hour.

  • Pass
    Lists tools

    tools/list returned 53 tools.

  • Pass
    Current protocol

    Negotiated 2025-11-25. The bar is 2025-06-18 or newer.

  • Pass
    HTTPS

    The endpoint URL is https.

Performance

  • Not measured
    Fast (p50)

    Median latency 641 ms over 1 samples in 7 days. The bar is 1000 ms. Need at least 5 samples.

  • Not measured
    Consistent (p95)

    95th percentile 641 ms over 1 samples in 7 days. The bar is 3000 ms. Need at least 20 samples.

  • Not measured
    Reliable (uptime)

    1 of 1 attempts returned a tool list in 30 days (100%). The bar is 99%. Need at least 30 samples.

  • Not measured
    Stable tool list

    Fewer than two successful probes in 30 days, so tool-list stability is not measured.

Access

  • Pass
    Open access

    tools/list succeeded with no credential, and the record declares none.

  • Not measured
    Standard auth

    Auth is not required, so the OAuth metadata check does not apply.

  • Not measured
    Free tier cited

    No publisher quote has been checked.

Tools

  • Pass
    Tools described

    Every tool description is at least 20 characters.

  • Pass
    Valid input schemas

    Every inputSchema is a JSON Schema object.

  • Pass
    Parameters documented

    268 of 314 parameters have a description (85%). The bar is 80%.

  • Pass
    Safety hints

    Every tool sets readOnlyHint or destructiveHint.

Publisher

  • Pass
    Verified namespace

    Listed in the Official MCP Registry.

  • Not measured
    Website matches publisher

    This namespace is not a reverse domain, so the website comparison does not apply.

  • Pass
    Source repo linked

    A repository URL is on file.

  • Pass
    Repo owner matches

    The GitHub repository owner matches the namespace login.

  • Pass
    Recently updated

    Updated 2026-11-04T07:15:31.970716Z, within 180 days.

  • Not measured
    Open-source licence

    The GitHub licence lookup has not returned an OSI result yet.

Start using Magic Hour

Connect to this server

Choose your client, copy the configuration, then enable the server in your client’s MCP settings.

Run this command in your terminal, then restart Claude Code.

Claude Code

claude mcp add --transport http magic-hour https://mcp.magichour.ai/

Capabilities

Tools 53

add_subtitles_to_video

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.

Discovered
ai_voice_cloner_create_audio

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.

Discovered
ai_voice_generator_create_audio

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.

Discovered
change_clothes_in_photo

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.

Discovered
colorize_photo

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.

Discovered
create_animation

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.

Discovered
create_gif_or_short_video

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.

Discovered
create_lip_sync_video

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. Adjusts an existing video's lip movements to match supplied replacement audio. For a still portrait plus audio, 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.

Discovered
create_meme

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.

Discovered
create_qr_code

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.

Discovered
create_spoken_ad_video

Creates a creator-style spoken ad video from a prepared image and a text script. Use when the image is ready and the dialogue should be generated from text. 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.

Discovered
create_talking_photo

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. Animates a still portrait so it speaks an existing audio recording. Use with a portrait photo and an audio file; text alone is not accepted and this tool does not synthesize speech. 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.

Discovered
create_video_from_audio

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.

Discovered
create_video_from_image

Animates a supplied image into a video using motion instructions and available model options. 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.

Discovered
create_video_from_text

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.

Discovered
delete_audio_project

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

Discovered
delete_image_project

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

Discovered
delete_video_project

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

Discovered
detect_faces

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.

Discovered
edit_face_in_photo

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.

Discovered
edit_image

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.

Discovered
edit_video

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.

Discovered
fetch_audio_download

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.

Discovered
fetch_image_download

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.

Discovered
fetch_video_download

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.

Discovered
generate_headshot

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.

Discovered
generate_image

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.

Discovered
generate_music

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.

Discovered
get_account_info

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.

Discovered
get_audio_project

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.

Discovered
get_face_detection_results

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.

Discovered
get_image_project

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.

Discovered
get_upload_urls

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.

Discovered
get_video_project

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.

Discovered
get_workflow_guide

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.

Discovered
list_saved_items

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.

Discovered
ping

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.

Discovered
place_person_in_scene

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.

Discovered
remove_image_background

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.

Discovered
replace_character_in_video

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.

Discovered
restyle_video

Restyles an existing video clip with an art-style preset or a custom prompt. Supports v1/v2 presets, not v3. 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.

Discovered
swap_face_in_photo

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.

Discovered
swap_face_in_video

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.

Discovered
swap_head_in_photo

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.

Discovered
translate_video

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.

Discovered
upload_chatgpt_image

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.

Discovered
upload_chatgpt_media

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.

Discovered
upscale_image

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.

Discovered
upscale_video

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.

Discovered
voices_list

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.

Discovered
wait_for_audio_project

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.

Discovered
wait_for_image_project

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.

Discovered
wait_for_video_project

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.

Discovered

Recent measurements

Probe history

View status
Latest stored probes. Raw probe rows are kept for 14 days.
CheckedResultResponseTools
Connected641 ms53