Magic Hour
Create and edit images, videos, and audio through Magic Hour's hosted Streamable HTTP MCP server.
Connect it
Settings → Connectors → Add custom connector
URL: https://mcp.magichour.ai/Settings → Apps & Connectors → Advanced → Developer mode
Create connector with URL: https://mcp.magichour.ai/{
"mcpServers": {
"magic-hour": {
"url": "https://mcp.magichour.ai/"
}
}
}claude mcp add --transport http magic-hour https://mcp.magichour.ai/{
"servers": {
"magic-hour": {
"type": "http",
"url": "https://mcp.magichour.ai/"
}
}
}46 tools, verified live
workflow_guide_retrieveread-onlyRead Magic Hour workflow guidance for face swap, image editing, image-to-video, video generation, lip sync, UGC ads, talking photos or API integration. Returns product and documentation URLs, exact tool names and review criteria; does not generate media, spend credits or check account access.
pingread-onlyCheck that the Magic Hour MCP server is reachable.
wait_for_video_projectread-onlyPoll a video project until it completes, errors, is canceled, or times out. Returns sanitized download fields. Use `exact_download_urls[n]` or `downloads[n].url` exactly as returned; do not shorten it, remove query parameters, or append expiration metadata.
wait_for_image_projectread-onlyPoll an image project until it completes, errors, is canceled, or times out. Returns the final project JSON and, when complete, attempts to inline image downloads for Inspector or compatible clients. Returns sanitized download fields. Use `exact_download_urls[n]` or `downloads[n].url` exactly as returned; do not shorten it, remove query parameters, or append expiration metadata.
wait_for_audio_projectread-onlyPoll an audio project until it completes, errors, is canceled, or times out. Returns the final project JSON and, when complete, attempts to inline audio downloads for Inspector or compatible clients. Returns sanitized download fields. Use `exact_download_urls[n]` or `downloads[n].url` exactly as returned; do not shorten it, remove query parameters, or append expiration metadata.
fetch_image_downloadread-onlyFetch a image `downloads[n].url` from a completed image project and return it as inline MCP image content for compatible clients. Pass the exact full signed URL from `downloads[n].url` without trimming query parameters; `expires_at` is separate metadata, not part of the URL.
fetch_audio_downloadread-onlyFetch a audio `downloads[n].url` from a completed audio project and return it as inline MCP audio content for compatible clients. Pass the exact full signed URL from `downloads[n].url` without trimming query parameters; `expires_at` is separate metadata, not part of the URL.
fetch_video_downloadread-onlyFetch a video `downloads[n].url` from a completed video project and return it as an embedded MCP binary resource for compatible clients. Pass the exact full signed URL from `downloads[n].url` without trimming query parameters; `expires_at` is separate metadata, not part of the URL.
account_retrieveread-onlyGet the current credit balance and subscription details of the account that owns the API key.
saved_items_listread-onlyReturns active saved items owned by the authenticated account, newest first. Each item includes every saved asset with a durable file_path for reuse in compatible generation APIs and a temporary signed URL for previewing or downloading. Filter by type to find characters, references, voices, moodboards, or brand kits. To fetch the next page, pass the response's next_cursor as cursor.
video_assets_generate_presigned_urlMCP guidance: - This only creates presigned upload URLs. For local files, upload the raw bytes to each returned `upload_url` outside the generation call, then pass the matching `file_path` into the create tool. - 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
face_detection_retrieve_detailsread-onlyGet the details of a face detection task. Use this API to get the list of faces detected in the image or video to use in the [face swap photo](https://docs.magichour.ai/api-reference/image-projects/face-swap-photo) or [face swap video](https://docs.magichour.ai/api-reference/video-projects/face-swap-video) API calls for multi-face swaps.
face_detection_detect_facesMCP guidance: - This starts an async face-detection task and returns an `id`. Use the face-detection details endpoint with that id to retrieve detected faces before doing individual face swaps. - 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
video_projects_retrieve_detailsread-onlyMCP guidance: - Use this after a create tool to poll job status. When status is `complete`, surface the `downloads` URLs to the user; if status is `error`, surface the error message. - Each `downloads[n].url` is already the full signed download URL. Use it exactly as returned. Do not shorten it, strip query parameters, or append `expires_at` onto the URL string. Check the progress of a video proj
video_projects_deletecan modifyPermanently delete the rendered video. This action is not reversible, please be sure before deleting.
ai_talking_photo_create_talking_photoUse 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. MCP guidance: - Starts an async video job; returns `id` and `credits_charged`. For finished results, call `wait_for_video_project` with that id or poll `GET /v1/video-projects/{id}` until `complete`, `error`, or `canceled`. Results incl
ai_ugc_ad_create_videoMCP guidance: - Starts an async video job; returns `id` and `credits_charged`. For finished results, call `wait_for_video_project` with that id or poll `GET /v1/video-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 ex
ai_video_editor_create_videoMCP guidance: - Starts an async video job; returns `id` and `credits_charged`. For finished results, call `wait_for_video_project` with that id or poll `GET /v1/video-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 ex
ai_video_translator_create_videoMCP guidance: - Starts an async video job; returns `id` and `credits_charged`. For finished results, call `wait_for_video_project` with that id or poll `GET /v1/video-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 ex
animation_create_videoMCP guidance: - Starts an async video job; returns `id` and `credits_charged`. For finished results, call `wait_for_video_project` with that id or poll `GET /v1/video-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 ex
audio_to_video_create_videoMCP guidance: - Starts an async video job; returns `id` and `credits_charged`. For finished results, call `wait_for_video_project` with that id or poll `GET /v1/video-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 ex
auto_subtitle_generator_create_videoMCP guidance: - Starts an async video job; returns `id` and `credits_charged`. For finished results, call `wait_for_video_project` with that id or poll `GET /v1/video-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 ex
character_replace_create_videoUse 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. MCP guidance: - Starts an async video job; returns `id` and `credits_charged`. For finished results, call `wait_for_video_project` with that id or poll `GET /v1/video-projects/{id}` until `complete`, `error`, or `canceled`. Results incl
face_swap_create_videoUse 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. MCP guidance: - Starts an async video job; returns `id` and `credits_charged`. For finished results, call `wait_for_video_project` with that id or poll `GET /v1/video-projects/{id}` until `complete`, `error`, or `canceled`. Results incl
image_to_video_create_videoMCP guidance: - Starts an async video job; returns `id` and `credits_charged`. For finished results, call `wait_for_video_project` with that id or poll `GET /v1/video-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 ex
lip_sync_create_videoUse 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. MCP guidance: - Starts an async video job; returns `id` and `credits_charged`. For finished results, call `wait_for_video_project` with that id or poll `GET /v1/video-projects/{id}` until `complete`, `error`, or `canceled`. Results incl
text_to_video_create_videoMCP guidance: - Starts an async video job; returns `id` and `credits_charged`. For finished results, call `wait_for_video_project` with that id or poll `GET /v1/video-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. **What this API does** Creat
video_to_video_create_videoMCP guidance: - Starts an async video job; returns `id` and `credits_charged`. For finished results, call `wait_for_video_project` with that id or poll `GET /v1/video-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 ex
image_projects_retrieve_detailsread-onlyMCP guidance: - Use this after a create tool to poll job status. When status is `complete`, surface the `downloads` URLs to the user; if status is `error`, surface the error message. - Each `downloads[n].url` is already the full signed download URL. Use it exactly as returned. Do not shorten it, strip query parameters, or append `expires_at` onto the URL string. Check the progress of a image proj
image_projects_deletecan modifyPermanently delete the rendered image(s). This action is not reversible, please be sure before deleting.
ai_clothes_changer_create_imageUse 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. MCP guidance: - Starts an async image job; returns `id` and `credits_charged`. For finished results, call `wait_for_image_project` with that id or poll `GET /v1/image-projects/{id}` until `complete`, `error`, or `canceled`. Results incl
ai_face_editor_edit_imageMCP guidance: - Starts an async image job; returns `id` and `credits_charged`. For finished results, call `wait_for_image_project` with that id or poll `GET /v1/image-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 ex
ai_gif_generator_create_imageMCP guidance: - Starts an async image job; returns `id` and `credits_charged`. For finished results, call `wait_for_image_project` with that id or poll `GET /v1/image-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. Create an AI GIF. Each GIF co
ai_image_editor_create_imageMCP guidance: - Starts an async image job; returns `id` and `credits_charged`. For finished results, call `wait_for_image_project` with that id or poll `GET /v1/image-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 ex
ai_headshot_generator_create_imageMCP guidance: - Starts an async image job; returns `id` and `credits_charged`. For finished results, call `wait_for_image_project` with that id or poll `GET /v1/image-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 ex
ai_image_generator_create_imageMCP guidance: - Starts an async image job; returns `id` and `credits_charged`. For finished results, call `wait_for_image_project` with that id or poll `GET /v1/image-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. Create an AI image with advan
ai_image_upscaler_create_imageMCP guidance: - Starts an async image job; returns `id` and `credits_charged`. For finished results, call `wait_for_image_project` with that id or poll `GET /v1/image-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 ex
ai_meme_generator_create_imageMCP guidance: - Starts an async image job; returns `id` and `credits_charged`. For finished results, call `wait_for_image_project` with that id or poll `GET /v1/image-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. Create an AI generated meme.
ai_qr_code_generator_create_imageMCP guidance: - Starts an async image job; returns `id` and `credits_charged`. For finished results, call `wait_for_image_project` with that id or poll `GET /v1/image-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. Create an AI QR code. Each QR
body_swap_create_imageUse 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. MCP guidance: - Starts an async image job; returns `id` and `credits_charged`. For finished results, call `wait_for_image_project` with that id or poll `GET /v1/image-projects/{id}` until `complete`, `error`, or `canceled`. Results incl
face_swap_photo_create_imageUse 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. MCP guidance: - Starts an async image job; returns `id` and `credits_charged`. For finished results, call `wait_for_image_project` with that id or poll `GET /v1/image-projects/{id}` until `complete`, `error`, or `canceled`. Results incl
head_swap_create_imageUse 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. MCP guidance: - Starts an async image job; returns `id` and `credits_charged`. For finished results, call `wait_for_image_project` with that id or poll `GET /v1/image-projects/{id}` until `complete`, `error`, or `canceled`. Results incl
image_background_remover_create_imageMCP guidance: - Starts an async image job; returns `id` and `credits_charged`. For finished results, call `wait_for_image_project` with that id or poll `GET /v1/image-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 ex
photo_colorizer_create_imageMCP guidance: - Starts an async image job; returns `id` and `credits_charged`. For finished results, call `wait_for_image_project` with that id or poll `GET /v1/image-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 ex
audio_projects_retrieve_detailsread-onlyMCP guidance: - Use this after a create tool to poll job status. When status is `complete`, surface the `downloads` URLs to the user; if status is `error`, surface the error message. - Each `downloads[n].url` is already the full signed download URL. Use it exactly as returned. Do not shorten it, strip query parameters, or append `expires_at` onto the URL string. Check the progress of a audio proj
audio_projects_deletecan modifyPermanently delete the rendered audio file(s). This action is not reversible, please be sure before deleting.
Alternatives in Developer Tools
Compare →
Limitguard Lead VerificationA
Lead validation over MCP: KVK/KBO register, EU VAT, sanctions and email checks with sources.
Tailwind ShadesA
Tailwind CSS palettes (50-950) from any color, the closest Tailwind color, and Tailwind's defaults
three.ws for GrokA
Free text/image to 3D for Grok Bot, plus your three.ws agents once signed in. Never spends.
MGMCP GrafanaA
An MCP server giving access to Grafana dashboards, data and more.
NONotFairA
OAuth MCP for Google, Meta, X, LinkedIn, Reddit, TikTok, GSC, GA4, WordPress and GHL.
SPSpokenA
Podcast transcripts as clean Markdown with real speaker names — via the Spoken API.