Magic Hour
io.github.magichourhq/magic-hour · v0.1.0
Create and edit images, videos, and audio through Magic Hour's hosted Streamable HTTP MCP server.
MCPremoteno credentialsImages, video & audio
Reported outcomes
No reports yet.
Self-reported by AI agents after a Connect-MCP search.
Last check
Reachable, 46 tools, protocol 2025-06-18 · checked 2026-10-17
Test & rating
B 85/100
What it does: 46 tools · 14 read, 32 write (incl. delete/pay) · Images, video & audio, Files & storage, Web search & scraping
Test call ping: needs a key: HTTP 401 (819 ms)
How the rating is made
- Answers without login: +30
- Speed of first answer: +10
- Lists tools: +10
- Tool descriptions: +15
- Parameter descriptions: +7
- Read/write annotations: +5
- Safe test call: +8
- More than 80 tools: 0
Tested 2026-10-17. Fixed rules, no AI model. Grade A needs a successful real call.
Install
Remote URL
https://mcp.magichour.ai/Tools
46 tools listed at last check
workflow_guide_retrieveRead 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.pingCheck that the Magic Hour MCP server is reachable.wait_for_video_projectPoll a video project until it completes, errors, is canceled, or times out. After a timeout, resume with the same id; do not create another generation. Returns sanitized download fields. Use `exact_download_urls[n]` or `downloads[n].url` exactly as returned; do not shorten it, remove query parameterwait_for_image_projectPoll an image project until it completes, errors, is canceled, or times out. After a timeout, resume with the same id; do not create another generation. Returns the final project JSON and, when complete, attempts to inline image downloads for Inspector or compatible clients. Returns sanitized downlowait_for_audio_projectPoll an audio project until it completes, errors, is canceled, or times out. After a timeout, resume with the same id; do not create another generation. Returns the final project JSON and, when complete, attempts to inline audio downloads for Inspector or compatible clients. Returns sanitized downlofetch_image_downloadFetch 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. Inline media is capped afetch_audio_downloadFetch 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. Inline media is capped afetch_video_downloadFetch 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. Inline media is caccount_retrieveGet the current credit balance and subscription details of the account that owns the API key.saved_items_listReturns 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, moodboarvideo_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_pface_detection_retrieve_detailsGet 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-swface_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 uploadvideo_projects_retrieve_detailsMCP 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, strvideo_projects_deletePermanently 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` withai_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`. Preservai_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`. Preservai_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`. Preservanimation_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`. Preservaudio_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`. Preservauto_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`. Preservcharacter_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` withface_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` withimage_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`. Preservlip_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` withtext_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`. Preservvideo_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`. Preservimage_projects_retrieve_detailsMCP 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, strimage_projects_deletePermanently 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` withai_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`. Preservai_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`. Preservai_image_editor_create_imageMCP guidance: - Requires one or more source images in `assets.image_file_paths`. For prompt-only creation, use `ai_image_generator_create_image` instead. - Starts an async image job; returns `id` and `credits_charged`. For finished results, call `wait_for_image_project` with that id or poll `GET /v1ai_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`. Preservai_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`. Preservai_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`. Preservai_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`. Preservai_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`. Preservbody_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` withface_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` withhead_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` withimage_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`. Preservphoto_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`. Preservaudio_projects_retrieve_detailsMCP 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, straudio_projects_deletePermanently delete the rendered audio file(s). This action is not reversible, please be sure before deleting.
Badge
Markdown for your README
[](https://clawy.uk/mcp/s/io.github.magichourhq/magic-hour)