Verified conversions across 205 color spaces: CSS strings, gamut checks, .cube LUTs
Magic Hour is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
Create and edit images, videos, and audio through Magic Hour's hosted Streamable HTTP MCP server.
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user --transport http magic-hour-mcp https://mcp.magichour.ai/
# 2 — ask your agent for something these tools do
# workflow_guide_retrieve, ping, wait_for_video_project and 42 more
Magic Hour costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. Nothing here runs on your machine and nothing runs on ours: this server answers at its publisher’s own address, and what you install is the connection straight to it.
This is a public server: it answers at its publisher’s own address and this marketplace is not in the path. Claude Code registers it in one command; --scope user makes it available in every project. The transport below is http, as the publisher's own manifest declares it.
claude mcp add --scope user --transport http magic-hour-mcp https://mcp.magichour.ai/Reconnect, or start a new session, and the tools appear in the model’s tool list.
One config entry pointing straight at the publisher’s own address — this marketplace is not in the path, and nothing from this listing executes on your machine.
45 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
Read 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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| workflow | string | yes | — |
Check that the Magic Hour MCP server is reachable.
No parameter schema on file.
Poll 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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | — |
| poll_interval_seconds | number | no | — |
| timeout_seconds | number | no | — |
| include_inline_downloads | boolean | no | — |
| max_inline_downloads | integer | no | — |
Poll 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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | — |
| poll_interval_seconds | number | no | — |
| timeout_seconds | number | no | — |
| include_inline_downloads | boolean | no | — |
| max_inline_downloads | integer | no | — |
| max_bytes_per_download | integer | no | — |
Poll 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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | — |
| poll_interval_seconds | number | no | — |
| timeout_seconds | number | no | — |
| include_inline_downloads | boolean | no | — |
| max_inline_downloads | integer | no | — |
| max_bytes_per_download | integer | no | — |
Fetch 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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| download_url | string | yes | — |
| max_bytes | integer | no | — |
Fetch 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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| download_url | string | yes | — |
| max_bytes | integer | no | — |
Fetch 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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| download_url | string | yes | — |
| max_bytes | integer | no | — |
Get the current credit balance and subscription details of the account that owns the API key.
No parameter schema on file.
Returns 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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| type | string | no | Only return saved items of this type. |
| limit | integer | no | Maximum number of saved items to return. Defaults to 20. |
| cursor | string | no | Opaque pagination cursor from the previous response's next_cursor. |
Generates a list of pre-signed upload URLs for the assets required. This API is only necessary if you want to upload to Magic Hour's storage. Refer to the [Input Files Guide](https://docs.magichour.ai/integration/inputs-and-outputs) for more details. The response array will match the order of items in the request body. Valid file extensions per asset type: - video: mp4, m4v, mov, webm - audi
| Parameter | Type | Required | Notes |
|---|---|---|---|
| items | array | yes | The list of assets to upload. The response array will match the order of items in the request body. |
Get 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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | The id of the task. This value is returned by the [face detection API](https://docs.magichour.ai/api-reference/files/face-detection#response-id). |
Detect faces in an image or video. 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. Note: Face detection is free to use for the near future. P
| Parameter | Type | Required | Notes |
|---|---|---|---|
| confidence_score | number | no | Confidence threshold for filtering detected faces. * Higher values (e.g., 0.9) include only faces detected with high certainty, reducing false positives. * Lower values (e.g., 0.3) include more face |
| assets | object | yes | Provide the assets for face detection |
Check the progress of a video project. The downloads field is populated after a successful render. Statuses - queued — waiting to start - rendering — in progress - complete — ready; see downloads - error — a failure occurred (see error) - canceled — user canceled - draft — not used MCP guidance: - Use this after a create tool to poll job status. When status is complete,
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | Unique ID of the video project. This value is returned by all of the POST APIs that create a video. |
Permanently delete the rendered video. This action is not reversible, please be sure before deleting.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | Unique ID of the video project. This value is returned by all of the POST APIs that create a video. |
Create a talking photo video from an image and an audio file. MCP guidance: - This starts an async video generation job and returns id plus credits_charged immediately. If the user wants the finished result, call the wait_for_video_project helper with the returned id, or poll the matching GET /v1/video-projects/{id} endpoint until status is complete, error, or canceled. Completed pr
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | no | Give your video a custom name for easy identification. |
| start_seconds | number | yes | The start time of the input audio in seconds. Maximum clip length depends on style.generation_mode: realistic 300s, prompted 45s. |
| end_seconds | number | yes | The end time of the input audio in seconds. Maximum clip length depends on style.generation_mode: realistic 300s, prompted 45s. |
| assets | object | yes | Provide the assets for creating a talking photo |
| style | object | no | Attributes used to dictate the style of the output |
| max_resolution | integer | no | Constrains the larger dimension (height or width) of the output video. Allows you to set a lower resolution than your plan's maximum if desired. The value is capped by your plan's max resolution. |
What this API does Create the same Video Editor you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect it to your own app or workflow. Good for - Automation and batch processing - Adding video editor into apps, pipelines, or tools How it works (3 steps) 1) Upload your inputs (video, image, or audio) with [Generate Upload URLs](
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | no | Give your video a custom name for easy identification. |
| start_seconds | number | no | Start time of your clip (seconds). Must be ≥ 0. |
| end_seconds | number | yes | End time of your clip in seconds. Must be greater than start_seconds. Minimum duration depends on model: gemini-omni-1.1: 3s, LTX 2.5: 0.5s. Maximum duration depends on model: gemini-omni-1.1: 1 |
| model | string | no | Editing model. Defaults to LTX 2.5 for free tier and gemini-omni-1.1 for paid. gemini-omni is deprecated; use gemini-omni-1.1 instead. |
| resolution | string | no | Output resolution. Defaults to 480p for free tier and 720p for paid. gemini-omni-1.1 and deprecated gemini-omni support 720p and 1080p; LTX 2.5 supports 480p, 720p, and 1080p. |
| style | object | yes | — |
| assets | object | yes | Provide the assets for video editing. |
What this API does Create the same Video Translator you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect it to your own app or workflow. Good for - Automation and batch processing - Adding video translator into apps, pipelines, or tools How it works (3 steps) 1) Upload your inputs (video, image, or audio) with [Generate Uploa
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | no | Give your video a custom name for easy identification. |
| start_seconds | number | no | Start time of your clip (seconds). Must be ≥ 0. |
| end_seconds | number | yes | End time of your clip (seconds). Must be greater than start_seconds. The clip must be 1-30 seconds long. |
| target_language | string | yes | Language to translate the video's speech into. |
| resolution | string | no | Output video resolution. Defaults to 480p. 720p and 1080p require a paid plan. |
| assets | object | yes | Source video for the translation job. |
Create a Animation video. The estimated frame cost is calculated based on the fps and end_seconds input. MCP guidance: - This starts an async video generation job and returns id plus credits_charged immediately. If the user wants the finished result, call the wait_for_video_project helper with the returned id, or poll the matching GET /v1/video-projects/{id} endpoint until status is `
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | no | Give your video a custom name for easy identification. |
| fps | number | yes | The desire output video frame rate |
| end_seconds | number | yes | This value determines the duration of the output video. |
| height | integer | yes | The height of the final output video. The maximum height depends on your subscription. Please refer to our [pricing page](https://magichour.ai/pricing) for more details |
| width | integer | yes | The width of the final output video. The maximum width depends on your subscription. Please refer to our [pricing page](https://magichour.ai/pricing) for more details |
| style | object | yes | Defines the style of the output video |
| assets | object | yes | Provide the assets for animation. |
What this API does Create the same Audio To Video you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect it to your own app or workflow. Good for - Automation and batch processing - Adding audio to video into apps, pipelines, or tools How it works (3 steps) 1) Upload your inputs (video, image, or audio) with [Generate Upload UR
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | no | Give your video a custom name for easy identification. |
| start_seconds | number | no | Start time of your clip (seconds). Must be ≥ 0. |
| end_seconds | number | yes | End time of your clip (seconds). Must be greater than start_seconds. |
| resolution | string | no | Output video resolution. Defaults to 720p on paid tiers and 480p on free tiers. |
| assets | object | yes | Provide the audio file and an optional reference image. |
| style | object | no | Attributes used to dictate the style of the output |
Automatically generate subtitles for your video in multiple languages. MCP guidance: - This starts an async video generation job and returns id plus credits_charged immediately. If the user wants the finished result, call the wait_for_video_project helper with the returned id, or poll the matching GET /v1/video-projects/{id} endpoint until status is complete, error, or canceled. Com
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | no | Give your video a custom name for easy identification. |
| start_seconds | number | yes | Start time of your clip (seconds). Must be ≥ 0. |
| end_seconds | number | yes | End time of your clip (seconds). Must be greater than start_seconds. |
| assets | object | yes | Provide the assets for auto subtitle generator |
| style | object | yes | Style of the subtitle. At least one of .style.template or .style.custom_config must be provided. * If only .style.template is provided, default values for the template will be used. * If both a |
What this API does Create the same Character Replace you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect it to your own app or workflow. Good for - Automation and batch processing - Adding character replace into apps, pipelines, or tools How it works (3 steps) 1) Upload your inputs (video, image, or audio) with [Generate Upl
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | no | Give your video a custom name for easy identification. |
| start_seconds | number | no | Start time of your clip (seconds). Must be ≥ 0. |
| end_seconds | number | yes | End time of your clip (seconds). Must be greater than start_seconds. |
| model | string | no | Model to use. Defaults to wan-animate. * wan-animate: 480p, 720p. Supports points subject selection. * kling-3.0: 720p, 1080p. Clips of 3–10 seconds in replace mode or 3–30 seconds |
| resolution | string | no | Output video resolution. Must be supported by model. Defaults to the lowest resolution available on your plan for that model. |
| assets | object | yes | Source video and reference character image for the job. |
| style | object | no | Optional style controls for replace vs animate mode and subject selection. |
What this API does Create the same Face Swap you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect it to your own app or workflow. Good for - Automation and batch processing - Adding face swap into apps, pipelines, or tools How it works (3 steps) 1) Upload your inputs (video, image, or audio) with [Generate Upload URLs](https:
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | no | Give your video a custom name for easy identification. |
| start_seconds | number | yes | Start time of your clip (seconds). Must be ≥ 0. |
| end_seconds | number | yes | End time of your clip (seconds). Must be greater than start_seconds. |
| style | object | no | Style of the face swap video. |
| assets | object | yes | Provide the assets for face swap. For video, The video_source field determines whether video_file_path or youtube_url field is used |
What this API does Create the same Image To Video you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect it to your own app or workflow. Good for - Automation and batch processing - Adding image to video into apps, pipelines, or tools How it works (3 steps) 1) Upload your inputs (video, image, or audio) with [Generate Upload UR
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | no | Give your video a custom name for easy identification. |
| end_seconds | number | yes | The total duration of the output video in seconds. Supported durations depend on the chosen model: * gemini-omni-1.1: any integer from 3 to 10 * kling-2.6: 5, 10 * kling-3.0: any in |
| model | string | no | The AI model to use for video generation. * default: uses our currently recommended model for general use. For paid tiers, defaults to kling-3.0. For free tiers, it defaults to ltx-2.5. * `gemi |
| resolution | string | no | Controls the output video resolution. Defaults to 720p on paid tiers and 480p on free tiers. * gemini-omni-1.1: Supports 360p, 720p, 1080p, 4k. * kling-2.6: Supports 720p, 1080p. * ** |
| audio | boolean | no | Whether to include audio in the video. Defaults to false if not specified. Audio support varies by model: * gemini-omni-1.1: Not supported * kling-2.6: Not supported * kling-3.0: |
| style | object | no | Attributed used to dictate the style of the output |
| assets | object | yes | Provide the assets for image-to-video. |
What this API does Create the same Lip Sync you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect it to your own app or workflow. Good for - Automation and batch processing - Adding lip sync into apps, pipelines, or tools How it works (3 steps) 1) Upload your inputs (video, image, or audio) with [Generate Upload URLs](https://
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | no | Give your video a custom name for easy identification. |
| start_seconds | number | yes | Start time of your clip (seconds). Must be ≥ 0. |
| end_seconds | number | yes | End time of your clip (seconds). Must be greater than start_seconds. |
| max_fps_limit | number | no | Defines the maximum FPS (frames per second) for the output video. If the input video's FPS is lower than this limit, the output video will retain the input FPS. This is useful for reducing unnecessary |
| assets | object | yes | Provide the assets for lip-sync. For video, The video_source field determines whether video_file_path or youtube_url field is used |
| style | object | no | Attributes used to dictate the style of the output |
What this API does Create the same Text To Video you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect it to your own app or workflow. Good for - Automation and batch processing - Adding text to video into apps, pipelines, or tools How it works (3 steps) 1) Upload your inputs (video, image, or audio) with [Generate Upload URLs
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | no | Give your video a custom name for easy identification. |
| end_seconds | number | yes | The total duration of the output video in seconds. Supported durations depend on the chosen model: * gemini-omni-1.1: any integer from 3 to 10 * kling-2.6: 5, 10 * kling-3.0: any in |
| aspect_ratio | string | no | Determines the aspect ratio of the output video. * gemini-omni-1.1: Supports 16:9, 9:16. * kling-2.6: Supports 9:16, 16:9, 1:1. * kling-3.0: Supports 9:16, 16:9, 1:1. * **ltx-2.5* |
| resolution | string | no | Controls the output video resolution. Defaults to 720p on paid tiers and 480p on free tiers. * gemini-omni-1.1: Supports 360p, 720p, 1080p, 4k. * kling-2.6: Supports 720p, 1080p. * ** |
| model | string | no | The AI model to use for video generation. * default: uses our currently recommended model for general use. For paid tiers, defaults to kling-3.0. For free tiers, it defaults to ltx-2.5. * `gemi |
| audio | boolean | no | Whether to include audio in the video. Defaults to false if not specified. Audio support varies by model: * gemini-omni-1.1: Not supported * kling-2.6: Not supported * kling-3.0: |
| style | object | yes | — |
| references | array | no | Reference media for video generation. Name references without @ and refer to them as @name in style.prompt. Maximum 10 references total. Supported models and reference media: * kling-3.0: Suppo |
What this API does Create the same Video To Video you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect it to your own app or workflow. Good for - Automation and batch processing - Adding video to video into apps, pipelines, or tools How it works (3 steps) 1) Upload your inputs (video, image, or audio) with [Generate Upload UR
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | no | Give your video a custom name for easy identification. |
| start_seconds | number | yes | Start time of your clip (seconds). Must be ≥ 0. |
| end_seconds | number | yes | End time of your clip (seconds). Must be greater than start_seconds. |
| fps_resolution | string | no | Determines whether the resulting video will have the same frame per second as the original video, or half. * FULL - the result video will have the same FPS as the input video * HALF - the result v |
| style | object | yes | — |
| assets | object | yes | Provide the assets for video-to-video. For video, The video_source field determines whether video_file_path or youtube_url field is used |
Check the progress of a image project. The downloads field is populated after a successful render. Statuses - queued — waiting to start - rendering — in progress - complete — ready; see downloads - error — a failure occurred (see error) - canceled — user canceled - draft — not used MCP guidance: - Use this after a create tool to poll job status. When status is complete,
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | Unique ID of the image project. This value is returned by all of the POST APIs that create an image. |
Permanently delete the rendered image(s). This action is not reversible, please be sure before deleting.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | Unique ID of the image project. This value is returned by all of the POST APIs that create an image. |
Change outfits in photos in seconds with just a photo reference. Each photo costs 25 credits. MCP guidance: - This starts an async image generation job and returns id plus credits_charged immediately. If the user wants the finished result, call the wait_for_image_project helper with the returned id, or poll the matching GET /v1/image-projects/{id} endpoint until status is complete, `err
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | no | Give your image a custom name for easy identification. |
| assets | object | yes | Provide the assets for clothes changer |
Edit facial features of an image using AI. Each edit costs 1 frame. The height/width of the output image depends on your subscription. Please refer to our [pricing](https://magichour.ai/pricing) page for more details MCP guidance: - This starts an async image generation job and returns id plus credits_charged immediately. If the user wants the finished result, call the `wait_for_image_project
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | no | Give your image a custom name for easy identification. |
| assets | object | yes | Provide the assets for face editor |
| style | object | yes | Face editing parameters |
Create an AI GIF. Each GIF costs 50 credits. MCP guidance: - This starts an async image generation job and returns id plus credits_charged immediately. If the user wants the finished result, call the wait_for_image_project helper with the returned id, or poll the matching GET /v1/image-projects/{id} endpoint until status is complete, error, or canceled. Completed projects include `d
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | no | Give your gif a custom name for easy identification. |
| style | object | yes | — |
| output_format | string | no | The output file format for the generated animation. |
Edit images with AI. MCP guidance: - This starts an async image generation job and returns id plus credits_charged immediately. If the user wants the finished result, call the wait_for_image_project helper with the returned id, or poll the matching GET /v1/image-projects/{id} endpoint until status is complete, error, or canceled. Completed projects include downloads with direct UR
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | no | Give your image a custom name for easy identification. |
| image_count | number | no | Number of images to generate. Maximum varies by model. Defaults to 1 if not specified. |
| model | string | no | The AI model to use for image editing. Each model has different capabilities and costs. Models: - default - Use the model we recommend, which will change over time. This is recommended unless y |
| aspect_ratio | string | no | The aspect ratio of the output image(s). If not specified, defaults to auto. |
| resolution | string | no | Maximum resolution (longest edge) for the output image. Options: - 640px — up to 640px - 1k — up to 1024px - 2k — up to 2048px - 4k — up to 4096px - auto — Deprecated. Mapped server |
| style | object | yes | — |
| assets | object | yes | Provide the assets for image edit |
Create an AI headshot. Each headshot costs 50 credits. MCP guidance: - This starts an async image generation job and returns id plus credits_charged immediately. If the user wants the finished result, call the wait_for_image_project helper with the returned id, or poll the matching GET /v1/image-projects/{id} endpoint until status is complete, error, or canceled. Completed projects
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | no | Give your image a custom name for easy identification. |
| style | object | no | — |
| assets | object | yes | Provide the assets for headshot photo |
Create an AI image with advanced model selection and quality controls. MCP guidance: - This starts an async image generation job and returns id plus credits_charged immediately. If the user wants the finished result, call the wait_for_image_project helper with the returned id, or poll the matching GET /v1/image-projects/{id} endpoint until status is complete, error, or canceled. Com
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | no | Give your image a custom name for easy identification. |
| image_count | integer | yes | Number of images to generate. Maximum varies by model. |
| model | string | no | The AI model to use for image generation. Each model has different capabilities and costs. Models: - default - Use the model we recommend, which will change over time. This is recommended unles |
| aspect_ratio | string | no | The aspect ratio of the output image(s). If not specified, defaults to 1:1 (square). |
| resolution | string | no | Maximum resolution (longest edge) for the output image. Options: - 640px — up to 640px - 1k — up to 1024px - 2k — up to 2048px - 4k — up to 4096px - auto — Deprecated. Mapped server |
| style | object | yes | The art style to use for image generation. |
Upscale your image using AI. Each 2x upscale costs 50 credits for balanced/creative modes, and 25 credits for preserve. 4x upscale costs 200 and 100 credits respectively. MCP guidance: - This starts an async image generation job and returns id plus credits_charged immediately. If the user wants the finished result, call the wait_for_image_project helper with the returned id, or poll the mat
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | no | Give your image a custom name for easy identification. |
| scale_factor | number | yes | How much to scale the image. Must be either 2 or 4. Note: 4x upscale is only available on Creator, Pro, or Business tier. |
| style | object | no | Style settings for the upscale. Use mode ("preserve", "balanced", or "creative"). Defaults to "balanced". |
| assets | object | yes | Provide the assets for upscaling |
Create an AI generated meme. Each meme costs 10 credits. MCP guidance: - This starts an async image generation job and returns id plus credits_charged immediately. If the user wants the finished result, call the wait_for_image_project helper with the returned id, or poll the matching GET /v1/image-projects/{id} endpoint until status is complete, error, or canceled. Completed project
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | no | The name of the meme. |
| style | object | yes | — |
Create an AI QR code. Each QR code costs 0 credits. MCP guidance: - This starts an async image generation job and returns id plus credits_charged immediately. If the user wants the finished result, call the wait_for_image_project helper with the returned id, or poll the matching GET /v1/image-projects/{id} endpoint until status is complete, error, or canceled. Completed projects inc
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | no | Give your image a custom name for easy identification. |
| content | string | yes | The content of the QR code. |
| style | object | yes | — |
Swap a person into a scene image using Nano Banana 2 Lite (640px/1k) or Nano Banana 2 (2k/4k). Credits depend on resolution (from 50 credits at 640px upward). MCP guidance: - This starts an async image generation job and returns id plus credits_charged immediately. If the user wants the finished result, call the wait_for_image_project helper with the returned id, or poll the matching `GET
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | no | Give your image a custom name for easy identification. |
| resolution | string | yes | Output resolution. Determines credits charged for the run. |
| assets | object | yes | Person image and scene image for body swap |
Create a face swap photo. Each photo costs 10 credits. The height/width of the output image depends on your subscription. Please refer to our [pricing](https://magichour.ai/pricing) page for more details MCP guidance: - This starts an async image generation job and returns id plus credits_charged immediately. If the user wants the finished result, call the wait_for_image_project helper with
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | no | Give your image a custom name for easy identification. |
| assets | object | yes | Provide the assets for face swap photo |
Swap a head onto a body image. Each image costs 10 credits. Output resolution depends on your subscription; you may set max_resolution lower than your plan maximum if desired. MCP guidance: - This starts an async image generation job and returns id plus credits_charged immediately. If the user wants the finished result, call the wait_for_image_project helper with the returned id, or poll
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | no | Give your image a custom name for easy identification. |
| max_resolution | integer | no | Constrains the larger dimension (height or width) of the output. Omit to use the maximum allowed for your plan (capped at 2048px). Values above your plan maximum are clamped down to your plan's maximu |
| assets | object | yes | Provide the body and head images for head swap |
Remove background from image. Each image costs 5 credits. MCP guidance: - This starts an async image generation job and returns id plus credits_charged immediately. If the user wants the finished result, call the wait_for_image_project helper with the returned id, or poll the matching GET /v1/image-projects/{id} endpoint until status is complete, error, or canceled. Completed projec
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | no | Give your image a custom name for easy identification. |
| assets | object | yes | Provide the assets for background removal |
Colorize image. Each image costs 10 credits. MCP guidance: - This starts an async image generation job and returns id plus credits_charged immediately. If the user wants the finished result, call the wait_for_image_project helper with the returned id, or poll the matching GET /v1/image-projects/{id} endpoint until status is complete, error, or canceled. Completed projects include `d
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | no | Give your image a custom name for easy identification. |
| assets | object | yes | Provide the assets for photo colorization |
Check the progress of a audio project. The downloads field is populated after a successful render. Statuses - queued — waiting to start - rendering — in progress - complete — ready; see downloads - error — a failure occurred (see error) - canceled — user canceled - draft — not used MCP guidance: - Use this after a create tool to poll job status. When status is complete,
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | Unique ID of the audio project. This value is returned by all of the POST APIs that create an audio. |
Permanently delete the rendered audio file(s). This action is not reversible, please be sure before deleting.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | Unique ID of the audio project. This value is returned by all of the POST APIs that create an audio. |
- Every tool — any call limit is its publisher’s, not ours
- No card, and mcprush charges nothing for it
- Runs at its publisher’s own address — this marketplace is not in the path
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install Magic Hour or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
This listing is an address its publisher runs, and you connect to it directly — this marketplace is not in the path. The scanner reads packages and public source, and an address is neither: the repository linked on this page is where this record was collected from, not a copy of what the address serves, so it is not graded in its place. So there is no grade — not a withheld one, an unmeasured one.
Release history
This is an address its publisher runs: which release it serves is theirs to choose, so there is nothing here to pin. The history below is for reading; the current release on file is 0.1.0.
No release note was published with this version.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish Magic Hour can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.