{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_stw4e6g659ey","handle":"magic-hour","url":"https://wellknown.network/agents/magic-hour","links":{"self":"https://wellknown.network/agents/magic-hour/record.json","html":"https://wellknown.network/agents/magic-hour","markdown":"https://wellknown.network/agents/magic-hour/record.md","api":"https://wellknown.network/api/v1/agents/magic-hour","status":"https://wellknown.network/api/v1/agents/magic-hour/status","claim":"https://wellknown.network/agents/magic-hour/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/magic-hour/claim.json","badge":"https://wellknown.network/agents/magic-hour/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/magic-hour/history","tools":"https://wellknown.network/api/v1/agents/magic-hour/tools"},"ard":{"identifier":"urn:air:mcp.magichour.ai:server:magic-hour","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Magic Hour","summary":"Create and edit images, videos, and audio through Magic Hour's hosted Streamable HTTP MCP server.","description":"Create and edit images, videos, and audio through Magic Hour's hosted Streamable HTTP MCP server.","publisher":{"name":"magichourhq","url":null},"homepage":null,"repository":"https://github.com/magichourhq/magic-hour-mcp","version":"0.1.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://mcp.magichour.ai","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-08-31T01:21:34.517853Z","publishedAt":"2026-08-31T01:21:34.517853Z","registryName":"io.github.magichourhq/magic-hour"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"media.video-generation","name":"Video Generation","confidence":1,"provenance":"derived"},{"slug":"dev.docs-lookup","name":"Documentation Lookup","confidence":1,"provenance":"derived"},{"slug":"automation.workflows","name":"Workflow Automation","confidence":0.992,"provenance":"derived"},{"slug":"media.image-generation","name":"Image Generation","confidence":0.583,"provenance":"derived"},{"slug":"content.translation","name":"Translation","confidence":0.554,"provenance":"derived"},{"slug":"media.video-editing","name":"Video Editing","confidence":0.54,"provenance":"derived"},{"slug":"media.image-editing","name":"Image Editing","confidence":0.51,"provenance":"derived"},{"slug":"commerce.pricing","name":"Pricing & Quotes","confidence":0.51,"provenance":"derived"}],"categories":["automation","commerce","content","dev","media"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 5h ago.","lastOkAt":"2026-10-09T20:31:31.983Z","lastProbedAt":"2026-10-09T20:31:31.983Z","statusComputedAt":"2026-10-09T20:32:12.016Z","reliability30d":{"probes":109,"successRate":1,"p50Ms":132,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":109,"ok":109,"authBoundaryOk":0,"serviceOk":109,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-09T20:31:31.983Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":141,"error":null,"detail":{"tools":[{"name":"ping","description":"Check that the Magic Hour MCP server is reachable."},{"name":"wait_for_video_project","description":"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"},{"name":"wait_for_image_project","description":"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 downloa"},{"name":"wait_for_audio_project","description":"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 downloa"},{"name":"fetch_image_download","description":"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"},{"name":"fetch_audio_download","description":"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"},{"name":"fetch_video_download","description":"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 sig"},{"name":"account_retrieve","description":"Get the current credit balance and subscription details of the account that owns the API key."},{"name":"saved_items_list","description":"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 compatib"},{"name":"video_assets_generate_presigned_url","description":"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 [Inpu"},{"name":"face_detection_retrieve_details","description":"Get the details of a face detection task. \n\nUse this API to get the list of faces detected in the image or video to use in the [face swap photo](https://docs.ma"},{"name":"face_detection_detect_faces","description":"Detect faces in an image or video. \n      \nUse this API to get the list of faces detected in the image or video to use in the [face swap photo](https://docs.mag"},{"name":"video_projects_retrieve_details","description":"Check the progress of a video project. The `downloads` field is populated after a successful render.\n  \n**Statuses**\n- `queued` — waiting to start\n- `rendering`"},{"name":"video_projects_delete","description":"Permanently delete the rendered video. This action is not reversible, please be sure before deleting."},{"name":"ai_talking_photo_create_talking_photo","description":"Create a talking photo video from an image and an audio file.\n\nMCP guidance:\n- This starts an async video generation job and returns `id` plus `credits_charged`"},{"name":"ai_video_editor_create_video","description":"**What this API does**\n\nCreate the same Video Editor you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect it t"},{"name":"ai_video_translator_create_video","description":"**What this API does**\n\nCreate the same Video Translator you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect "},{"name":"animation_create_video","description":"Create a Animation video. The estimated frame cost is calculated based on the `fps` and `end_seconds` input.\n\nMCP guidance:\n- This starts an async video generat"},{"name":"audio_to_video_create_video","description":"**What this API does**\n\nCreate 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"},{"name":"auto_subtitle_generator_create_video","description":"Automatically generate subtitles for your video in multiple languages.\n\nMCP guidance:\n- This starts an async video generation job and returns `id` plus `credits"},{"name":"character_replace_create_video","description":"**What this API does**\n\nCreate the same Character Replace you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect"},{"name":"face_swap_create_video","description":"**What this API does**\n\nCreate 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 y"},{"name":"image_to_video_create_video","description":"**What this API does**\n\nCreate 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"},{"name":"lip_sync_create_video","description":"**What this API does**\n\nCreate 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 yo"},{"name":"text_to_video_create_video","description":"**What this API does**\n\nCreate 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 "},{"name":"video_to_video_create_video","description":"**What this API does**\n\nCreate 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"},{"name":"image_projects_retrieve_details","description":"Check the progress of a image project. The `downloads` field is populated after a successful render.\n  \n**Statuses**\n- `queued` — waiting to start\n- `rendering`"},{"name":"image_projects_delete","description":"Permanently delete the rendered image(s). This action is not reversible, please be sure before deleting."},{"name":"ai_clothes_changer_create_image","description":"Change outfits in photos in seconds with just a photo reference. Each photo costs 25 credits.\n\nMCP guidance:\n- This starts an async image generation job and ret"},{"name":"ai_face_editor_edit_image","description":"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 [pric"},{"name":"ai_gif_generator_create_image","description":"Create an AI GIF. Each GIF costs 50 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` immediately. If "},{"name":"ai_image_editor_create_image","description":"Edit images with AI.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` immediately. If the user wants the finis"},{"name":"ai_headshot_generator_create_image","description":"Create an AI headshot. Each headshot costs 50 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` immedi"},{"name":"ai_image_generator_create_image","description":"Create an AI image with advanced model selection and quality controls.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits"},{"name":"ai_image_upscaler_create_image","description":"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 res"},{"name":"ai_meme_generator_create_image","description":"Create an AI generated meme. Each meme costs 10 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` imme"},{"name":"ai_qr_code_generator_create_image","description":"Create an AI QR code. Each QR code costs 0 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` immediate"},{"name":"body_swap_create_image","description":"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)."},{"name":"face_swap_photo_create_image","description":"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://"},{"name":"head_swap_create_image","description":"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 ma"},{"name":"image_background_remover_create_image","description":"Remove background from image. Each image costs 5 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` imm"},{"name":"photo_colorizer_create_image","description":"Colorize image. Each image costs 10 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` immediately. If "},{"name":"audio_projects_retrieve_details","description":"Check the progress of a audio project. The `downloads` field is populated after a successful render.\n  \n**Statuses**\n- `queued` — waiting to start\n- `rendering`"},{"name":"audio_projects_delete","description":"Permanently delete the rendered audio file(s). This action is not reversible, please be sure before deleting."}],"toolCount":44,"toolsHash":"274f4339a266a659fc5a76a18a3cb9a666c50dbc990696cdf00d1999c309eab8","serverName":"magic-hour","capabilities":["experimental","logging","prompts","resources","tools","extensions"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T14:31:22.114Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":141,"error":null,"detail":{"tools":[{"name":"ping","description":"Check that the Magic Hour MCP server is reachable."},{"name":"wait_for_video_project","description":"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"},{"name":"wait_for_image_project","description":"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 downloa"},{"name":"wait_for_audio_project","description":"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 downloa"},{"name":"fetch_image_download","description":"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"},{"name":"fetch_audio_download","description":"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"},{"name":"fetch_video_download","description":"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 sig"},{"name":"account_retrieve","description":"Get the current credit balance and subscription details of the account that owns the API key."},{"name":"saved_items_list","description":"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 compatib"},{"name":"video_assets_generate_presigned_url","description":"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 [Inpu"},{"name":"face_detection_retrieve_details","description":"Get the details of a face detection task. \n\nUse this API to get the list of faces detected in the image or video to use in the [face swap photo](https://docs.ma"},{"name":"face_detection_detect_faces","description":"Detect faces in an image or video. \n      \nUse this API to get the list of faces detected in the image or video to use in the [face swap photo](https://docs.mag"},{"name":"video_projects_retrieve_details","description":"Check the progress of a video project. The `downloads` field is populated after a successful render.\n  \n**Statuses**\n- `queued` — waiting to start\n- `rendering`"},{"name":"video_projects_delete","description":"Permanently delete the rendered video. This action is not reversible, please be sure before deleting."},{"name":"ai_talking_photo_create_talking_photo","description":"Create a talking photo video from an image and an audio file.\n\nMCP guidance:\n- This starts an async video generation job and returns `id` plus `credits_charged`"},{"name":"ai_video_editor_create_video","description":"**What this API does**\n\nCreate the same Video Editor you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect it t"},{"name":"ai_video_translator_create_video","description":"**What this API does**\n\nCreate the same Video Translator you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect "},{"name":"animation_create_video","description":"Create a Animation video. The estimated frame cost is calculated based on the `fps` and `end_seconds` input.\n\nMCP guidance:\n- This starts an async video generat"},{"name":"audio_to_video_create_video","description":"**What this API does**\n\nCreate 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"},{"name":"auto_subtitle_generator_create_video","description":"Automatically generate subtitles for your video in multiple languages.\n\nMCP guidance:\n- This starts an async video generation job and returns `id` plus `credits"},{"name":"character_replace_create_video","description":"**What this API does**\n\nCreate the same Character Replace you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect"},{"name":"face_swap_create_video","description":"**What this API does**\n\nCreate 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 y"},{"name":"image_to_video_create_video","description":"**What this API does**\n\nCreate 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"},{"name":"lip_sync_create_video","description":"**What this API does**\n\nCreate 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 yo"},{"name":"text_to_video_create_video","description":"**What this API does**\n\nCreate 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 "},{"name":"video_to_video_create_video","description":"**What this API does**\n\nCreate 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"},{"name":"image_projects_retrieve_details","description":"Check the progress of a image project. The `downloads` field is populated after a successful render.\n  \n**Statuses**\n- `queued` — waiting to start\n- `rendering`"},{"name":"image_projects_delete","description":"Permanently delete the rendered image(s). This action is not reversible, please be sure before deleting."},{"name":"ai_clothes_changer_create_image","description":"Change outfits in photos in seconds with just a photo reference. Each photo costs 25 credits.\n\nMCP guidance:\n- This starts an async image generation job and ret"},{"name":"ai_face_editor_edit_image","description":"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 [pric"},{"name":"ai_gif_generator_create_image","description":"Create an AI GIF. Each GIF costs 50 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` immediately. If "},{"name":"ai_image_editor_create_image","description":"Edit images with AI.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` immediately. If the user wants the finis"},{"name":"ai_headshot_generator_create_image","description":"Create an AI headshot. Each headshot costs 50 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` immedi"},{"name":"ai_image_generator_create_image","description":"Create an AI image with advanced model selection and quality controls.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits"},{"name":"ai_image_upscaler_create_image","description":"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 res"},{"name":"ai_meme_generator_create_image","description":"Create an AI generated meme. Each meme costs 10 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` imme"},{"name":"ai_qr_code_generator_create_image","description":"Create an AI QR code. Each QR code costs 0 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` immediate"},{"name":"body_swap_create_image","description":"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)."},{"name":"face_swap_photo_create_image","description":"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://"},{"name":"head_swap_create_image","description":"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 ma"},{"name":"image_background_remover_create_image","description":"Remove background from image. Each image costs 5 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` imm"},{"name":"photo_colorizer_create_image","description":"Colorize image. Each image costs 10 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` immediately. If "},{"name":"audio_projects_retrieve_details","description":"Check the progress of a audio project. The `downloads` field is populated after a successful render.\n  \n**Statuses**\n- `queued` — waiting to start\n- `rendering`"},{"name":"audio_projects_delete","description":"Permanently delete the rendered audio file(s). This action is not reversible, please be sure before deleting."}],"toolCount":44,"toolsHash":"274f4339a266a659fc5a76a18a3cb9a666c50dbc990696cdf00d1999c309eab8","serverName":"magic-hour","capabilities":["experimental","logging","prompts","resources","tools","extensions"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T07:26:21.551Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":130,"error":null,"detail":{"tools":[{"name":"ping","description":"Check that the Magic Hour MCP server is reachable."},{"name":"wait_for_video_project","description":"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"},{"name":"wait_for_image_project","description":"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 downloa"},{"name":"wait_for_audio_project","description":"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 downloa"},{"name":"fetch_image_download","description":"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"},{"name":"fetch_audio_download","description":"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"},{"name":"fetch_video_download","description":"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 sig"},{"name":"account_retrieve","description":"Get the current credit balance and subscription details of the account that owns the API key."},{"name":"saved_items_list","description":"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 compatib"},{"name":"video_assets_generate_presigned_url","description":"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 [Inpu"},{"name":"face_detection_retrieve_details","description":"Get the details of a face detection task. \n\nUse this API to get the list of faces detected in the image or video to use in the [face swap photo](https://docs.ma"},{"name":"face_detection_detect_faces","description":"Detect faces in an image or video. \n      \nUse this API to get the list of faces detected in the image or video to use in the [face swap photo](https://docs.mag"},{"name":"video_projects_retrieve_details","description":"Check the progress of a video project. The `downloads` field is populated after a successful render.\n  \n**Statuses**\n- `queued` — waiting to start\n- `rendering`"},{"name":"video_projects_delete","description":"Permanently delete the rendered video. This action is not reversible, please be sure before deleting."},{"name":"ai_talking_photo_create_talking_photo","description":"Create a talking photo video from an image and an audio file.\n\nMCP guidance:\n- This starts an async video generation job and returns `id` plus `credits_charged`"},{"name":"ai_video_editor_create_video","description":"**What this API does**\n\nCreate the same Video Editor you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect it t"},{"name":"ai_video_translator_create_video","description":"**What this API does**\n\nCreate the same Video Translator you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect "},{"name":"animation_create_video","description":"Create a Animation video. The estimated frame cost is calculated based on the `fps` and `end_seconds` input.\n\nMCP guidance:\n- This starts an async video generat"},{"name":"audio_to_video_create_video","description":"**What this API does**\n\nCreate 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"},{"name":"auto_subtitle_generator_create_video","description":"Automatically generate subtitles for your video in multiple languages.\n\nMCP guidance:\n- This starts an async video generation job and returns `id` plus `credits"},{"name":"character_replace_create_video","description":"**What this API does**\n\nCreate the same Character Replace you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect"},{"name":"face_swap_create_video","description":"**What this API does**\n\nCreate 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 y"},{"name":"image_to_video_create_video","description":"**What this API does**\n\nCreate 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"},{"name":"lip_sync_create_video","description":"**What this API does**\n\nCreate 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 yo"},{"name":"text_to_video_create_video","description":"**What this API does**\n\nCreate 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 "},{"name":"video_to_video_create_video","description":"**What this API does**\n\nCreate 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"},{"name":"image_projects_retrieve_details","description":"Check the progress of a image project. The `downloads` field is populated after a successful render.\n  \n**Statuses**\n- `queued` — waiting to start\n- `rendering`"},{"name":"image_projects_delete","description":"Permanently delete the rendered image(s). This action is not reversible, please be sure before deleting."},{"name":"ai_clothes_changer_create_image","description":"Change outfits in photos in seconds with just a photo reference. Each photo costs 25 credits.\n\nMCP guidance:\n- This starts an async image generation job and ret"},{"name":"ai_face_editor_edit_image","description":"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 [pric"},{"name":"ai_gif_generator_create_image","description":"Create an AI GIF. Each GIF costs 50 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` immediately. If "},{"name":"ai_image_editor_create_image","description":"Edit images with AI.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` immediately. If the user wants the finis"},{"name":"ai_headshot_generator_create_image","description":"Create an AI headshot. Each headshot costs 50 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` immedi"},{"name":"ai_image_generator_create_image","description":"Create an AI image with advanced model selection and quality controls.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits"},{"name":"ai_image_upscaler_create_image","description":"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 res"},{"name":"ai_meme_generator_create_image","description":"Create an AI generated meme. Each meme costs 10 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` imme"},{"name":"ai_qr_code_generator_create_image","description":"Create an AI QR code. Each QR code costs 0 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` immediate"},{"name":"body_swap_create_image","description":"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)."},{"name":"face_swap_photo_create_image","description":"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://"},{"name":"head_swap_create_image","description":"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 ma"},{"name":"image_background_remover_create_image","description":"Remove background from image. Each image costs 5 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` imm"},{"name":"photo_colorizer_create_image","description":"Colorize image. Each image costs 10 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` immediately. If "},{"name":"audio_projects_retrieve_details","description":"Check the progress of a audio project. The `downloads` field is populated after a successful render.\n  \n**Statuses**\n- `queued` — waiting to start\n- `rendering`"},{"name":"audio_projects_delete","description":"Permanently delete the rendered audio file(s). This action is not reversible, please be sure before deleting."}],"toolCount":44,"toolsHash":"274f4339a266a659fc5a76a18a3cb9a666c50dbc990696cdf00d1999c309eab8","serverName":"magic-hour","capabilities":["experimental","logging","prompts","resources","tools","extensions"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T01:26:35.388Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":130,"error":null,"detail":{"tools":[{"name":"ping","description":"Check that the Magic Hour MCP server is reachable."},{"name":"wait_for_video_project","description":"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"},{"name":"wait_for_image_project","description":"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 downloa"},{"name":"wait_for_audio_project","description":"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 downloa"},{"name":"fetch_image_download","description":"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"},{"name":"fetch_audio_download","description":"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"},{"name":"fetch_video_download","description":"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 sig"},{"name":"account_retrieve","description":"Get the current credit balance and subscription details of the account that owns the API key."},{"name":"saved_items_list","description":"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 compatib"},{"name":"video_assets_generate_presigned_url","description":"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 [Inpu"},{"name":"face_detection_retrieve_details","description":"Get the details of a face detection task. \n\nUse this API to get the list of faces detected in the image or video to use in the [face swap photo](https://docs.ma"},{"name":"face_detection_detect_faces","description":"Detect faces in an image or video. \n      \nUse this API to get the list of faces detected in the image or video to use in the [face swap photo](https://docs.mag"},{"name":"video_projects_retrieve_details","description":"Check the progress of a video project. The `downloads` field is populated after a successful render.\n  \n**Statuses**\n- `queued` — waiting to start\n- `rendering`"},{"name":"video_projects_delete","description":"Permanently delete the rendered video. This action is not reversible, please be sure before deleting."},{"name":"ai_talking_photo_create_talking_photo","description":"Create a talking photo video from an image and an audio file.\n\nMCP guidance:\n- This starts an async video generation job and returns `id` plus `credits_charged`"},{"name":"ai_video_editor_create_video","description":"**What this API does**\n\nCreate the same Video Editor you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect it t"},{"name":"ai_video_translator_create_video","description":"**What this API does**\n\nCreate the same Video Translator you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect "},{"name":"animation_create_video","description":"Create a Animation video. The estimated frame cost is calculated based on the `fps` and `end_seconds` input.\n\nMCP guidance:\n- This starts an async video generat"},{"name":"audio_to_video_create_video","description":"**What this API does**\n\nCreate 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"},{"name":"auto_subtitle_generator_create_video","description":"Automatically generate subtitles for your video in multiple languages.\n\nMCP guidance:\n- This starts an async video generation job and returns `id` plus `credits"},{"name":"character_replace_create_video","description":"**What this API does**\n\nCreate the same Character Replace you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect"},{"name":"face_swap_create_video","description":"**What this API does**\n\nCreate 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 y"},{"name":"image_to_video_create_video","description":"**What this API does**\n\nCreate 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"},{"name":"lip_sync_create_video","description":"**What this API does**\n\nCreate 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 yo"},{"name":"text_to_video_create_video","description":"**What this API does**\n\nCreate 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 "},{"name":"video_to_video_create_video","description":"**What this API does**\n\nCreate 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"},{"name":"image_projects_retrieve_details","description":"Check the progress of a image project. The `downloads` field is populated after a successful render.\n  \n**Statuses**\n- `queued` — waiting to start\n- `rendering`"},{"name":"image_projects_delete","description":"Permanently delete the rendered image(s). This action is not reversible, please be sure before deleting."},{"name":"ai_clothes_changer_create_image","description":"Change outfits in photos in seconds with just a photo reference. Each photo costs 25 credits.\n\nMCP guidance:\n- This starts an async image generation job and ret"},{"name":"ai_face_editor_edit_image","description":"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 [pric"},{"name":"ai_gif_generator_create_image","description":"Create an AI GIF. Each GIF costs 50 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` immediately. If "},{"name":"ai_image_editor_create_image","description":"Edit images with AI.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` immediately. If the user wants the finis"},{"name":"ai_headshot_generator_create_image","description":"Create an AI headshot. Each headshot costs 50 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` immedi"},{"name":"ai_image_generator_create_image","description":"Create an AI image with advanced model selection and quality controls.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits"},{"name":"ai_image_upscaler_create_image","description":"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 res"},{"name":"ai_meme_generator_create_image","description":"Create an AI generated meme. Each meme costs 10 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` imme"},{"name":"ai_qr_code_generator_create_image","description":"Create an AI QR code. Each QR code costs 0 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` immediate"},{"name":"body_swap_create_image","description":"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)."},{"name":"face_swap_photo_create_image","description":"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://"},{"name":"head_swap_create_image","description":"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 ma"},{"name":"image_background_remover_create_image","description":"Remove background from image. Each image costs 5 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` imm"},{"name":"photo_colorizer_create_image","description":"Colorize image. Each image costs 10 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` immediately. If "},{"name":"audio_projects_retrieve_details","description":"Check the progress of a audio project. The `downloads` field is populated after a successful render.\n  \n**Statuses**\n- `queued` — waiting to start\n- `rendering`"},{"name":"audio_projects_delete","description":"Permanently delete the rendered audio file(s). This action is not reversible, please be sure before deleting."}],"toolCount":44,"toolsHash":"274f4339a266a659fc5a76a18a3cb9a666c50dbc990696cdf00d1999c309eab8","serverName":"magic-hour","capabilities":["experimental","logging","prompts","resources","tools","extensions"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T19:24:19.817Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":130,"error":null,"detail":{"tools":[{"name":"ping","description":"Check that the Magic Hour MCP server is reachable."},{"name":"wait_for_video_project","description":"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"},{"name":"wait_for_image_project","description":"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 downloa"},{"name":"wait_for_audio_project","description":"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 downloa"},{"name":"fetch_image_download","description":"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"},{"name":"fetch_audio_download","description":"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"},{"name":"fetch_video_download","description":"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 sig"},{"name":"account_retrieve","description":"Get the current credit balance and subscription details of the account that owns the API key."},{"name":"saved_items_list","description":"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 compatib"},{"name":"video_assets_generate_presigned_url","description":"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 [Inpu"},{"name":"face_detection_retrieve_details","description":"Get the details of a face detection task. \n\nUse this API to get the list of faces detected in the image or video to use in the [face swap photo](https://docs.ma"},{"name":"face_detection_detect_faces","description":"Detect faces in an image or video. \n      \nUse this API to get the list of faces detected in the image or video to use in the [face swap photo](https://docs.mag"},{"name":"video_projects_retrieve_details","description":"Check the progress of a video project. The `downloads` field is populated after a successful render.\n  \n**Statuses**\n- `queued` — waiting to start\n- `rendering`"},{"name":"video_projects_delete","description":"Permanently delete the rendered video. This action is not reversible, please be sure before deleting."},{"name":"ai_talking_photo_create_talking_photo","description":"Create a talking photo video from an image and an audio file.\n\nMCP guidance:\n- This starts an async video generation job and returns `id` plus `credits_charged`"},{"name":"ai_video_editor_create_video","description":"**What this API does**\n\nCreate the same Video Editor you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect it t"},{"name":"ai_video_translator_create_video","description":"**What this API does**\n\nCreate the same Video Translator you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect "},{"name":"animation_create_video","description":"Create a Animation video. The estimated frame cost is calculated based on the `fps` and `end_seconds` input.\n\nMCP guidance:\n- This starts an async video generat"},{"name":"audio_to_video_create_video","description":"**What this API does**\n\nCreate 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"},{"name":"auto_subtitle_generator_create_video","description":"Automatically generate subtitles for your video in multiple languages.\n\nMCP guidance:\n- This starts an async video generation job and returns `id` plus `credits"},{"name":"character_replace_create_video","description":"**What this API does**\n\nCreate the same Character Replace you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect"},{"name":"face_swap_create_video","description":"**What this API does**\n\nCreate 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 y"},{"name":"image_to_video_create_video","description":"**What this API does**\n\nCreate 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"},{"name":"lip_sync_create_video","description":"**What this API does**\n\nCreate 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 yo"},{"name":"text_to_video_create_video","description":"**What this API does**\n\nCreate 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 "},{"name":"video_to_video_create_video","description":"**What this API does**\n\nCreate 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"},{"name":"image_projects_retrieve_details","description":"Check the progress of a image project. The `downloads` field is populated after a successful render.\n  \n**Statuses**\n- `queued` — waiting to start\n- `rendering`"},{"name":"image_projects_delete","description":"Permanently delete the rendered image(s). This action is not reversible, please be sure before deleting."},{"name":"ai_clothes_changer_create_image","description":"Change outfits in photos in seconds with just a photo reference. Each photo costs 25 credits.\n\nMCP guidance:\n- This starts an async image generation job and ret"},{"name":"ai_face_editor_edit_image","description":"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 [pric"},{"name":"ai_gif_generator_create_image","description":"Create an AI GIF. Each GIF costs 50 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` immediately. If "},{"name":"ai_image_editor_create_image","description":"Edit images with AI.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` immediately. If the user wants the finis"},{"name":"ai_headshot_generator_create_image","description":"Create an AI headshot. Each headshot costs 50 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` immedi"},{"name":"ai_image_generator_create_image","description":"Create an AI image with advanced model selection and quality controls.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits"},{"name":"ai_image_upscaler_create_image","description":"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 res"},{"name":"ai_meme_generator_create_image","description":"Create an AI generated meme. Each meme costs 10 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` imme"},{"name":"ai_qr_code_generator_create_image","description":"Create an AI QR code. Each QR code costs 0 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` immediate"},{"name":"body_swap_create_image","description":"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)."},{"name":"face_swap_photo_create_image","description":"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://"},{"name":"head_swap_create_image","description":"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 ma"},{"name":"image_background_remover_create_image","description":"Remove background from image. Each image costs 5 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` imm"},{"name":"photo_colorizer_create_image","description":"Colorize image. Each image costs 10 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` immediately. If "},{"name":"audio_projects_retrieve_details","description":"Check the progress of a audio project. The `downloads` field is populated after a successful render.\n  \n**Statuses**\n- `queued` — waiting to start\n- `rendering`"},{"name":"audio_projects_delete","description":"Permanently delete the rendered audio file(s). This action is not reversible, please be sure before deleting."}],"toolCount":44,"toolsHash":"274f4339a266a659fc5a76a18a3cb9a666c50dbc990696cdf00d1999c309eab8","serverName":"magic-hour","capabilities":["experimental","logging","prompts","resources","tools","extensions"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T13:22:22.784Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":141,"error":null,"detail":{"tools":[{"name":"ping","description":"Check that the Magic Hour MCP server is reachable."},{"name":"wait_for_video_project","description":"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"},{"name":"wait_for_image_project","description":"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 downloa"},{"name":"wait_for_audio_project","description":"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 downloa"},{"name":"fetch_image_download","description":"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"},{"name":"fetch_audio_download","description":"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"},{"name":"fetch_video_download","description":"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 sig"},{"name":"account_retrieve","description":"Get the current credit balance and subscription details of the account that owns the API key."},{"name":"saved_items_list","description":"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 compatib"},{"name":"video_assets_generate_presigned_url","description":"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 [Inpu"},{"name":"face_detection_retrieve_details","description":"Get the details of a face detection task. \n\nUse this API to get the list of faces detected in the image or video to use in the [face swap photo](https://docs.ma"},{"name":"face_detection_detect_faces","description":"Detect faces in an image or video. \n      \nUse this API to get the list of faces detected in the image or video to use in the [face swap photo](https://docs.mag"},{"name":"video_projects_retrieve_details","description":"Check the progress of a video project. The `downloads` field is populated after a successful render.\n  \n**Statuses**\n- `queued` — waiting to start\n- `rendering`"},{"name":"video_projects_delete","description":"Permanently delete the rendered video. This action is not reversible, please be sure before deleting."},{"name":"ai_talking_photo_create_talking_photo","description":"Create a talking photo video from an image and an audio file.\n\nMCP guidance:\n- This starts an async video generation job and returns `id` plus `credits_charged`"},{"name":"ai_video_editor_create_video","description":"**What this API does**\n\nCreate the same Video Editor you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect it t"},{"name":"ai_video_translator_create_video","description":"**What this API does**\n\nCreate the same Video Translator you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect "},{"name":"animation_create_video","description":"Create a Animation video. The estimated frame cost is calculated based on the `fps` and `end_seconds` input.\n\nMCP guidance:\n- This starts an async video generat"},{"name":"audio_to_video_create_video","description":"**What this API does**\n\nCreate 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"},{"name":"auto_subtitle_generator_create_video","description":"Automatically generate subtitles for your video in multiple languages.\n\nMCP guidance:\n- This starts an async video generation job and returns `id` plus `credits"},{"name":"character_replace_create_video","description":"**What this API does**\n\nCreate the same Character Replace you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect"},{"name":"face_swap_create_video","description":"**What this API does**\n\nCreate 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 y"},{"name":"image_to_video_create_video","description":"**What this API does**\n\nCreate 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"},{"name":"lip_sync_create_video","description":"**What this API does**\n\nCreate 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 yo"},{"name":"text_to_video_create_video","description":"**What this API does**\n\nCreate 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 "},{"name":"video_to_video_create_video","description":"**What this API does**\n\nCreate 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"},{"name":"image_projects_retrieve_details","description":"Check the progress of a image project. The `downloads` field is populated after a successful render.\n  \n**Statuses**\n- `queued` — waiting to start\n- `rendering`"},{"name":"image_projects_delete","description":"Permanently delete the rendered image(s). This action is not reversible, please be sure before deleting."},{"name":"ai_clothes_changer_create_image","description":"Change outfits in photos in seconds with just a photo reference. Each photo costs 25 credits.\n\nMCP guidance:\n- This starts an async image generation job and ret"},{"name":"ai_face_editor_edit_image","description":"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 [pric"},{"name":"ai_gif_generator_create_image","description":"Create an AI GIF. Each GIF costs 50 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` immediately. If "},{"name":"ai_image_editor_create_image","description":"Edit images with AI.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` immediately. If the user wants the finis"},{"name":"ai_headshot_generator_create_image","description":"Create an AI headshot. Each headshot costs 50 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` immedi"},{"name":"ai_image_generator_create_image","description":"Create an AI image with advanced model selection and quality controls.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits"},{"name":"ai_image_upscaler_create_image","description":"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 res"},{"name":"ai_meme_generator_create_image","description":"Create an AI generated meme. Each meme costs 10 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` imme"},{"name":"ai_qr_code_generator_create_image","description":"Create an AI QR code. Each QR code costs 0 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` immediate"},{"name":"body_swap_create_image","description":"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)."},{"name":"face_swap_photo_create_image","description":"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://"},{"name":"head_swap_create_image","description":"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 ma"},{"name":"image_background_remover_create_image","description":"Remove background from image. Each image costs 5 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` imm"},{"name":"photo_colorizer_create_image","description":"Colorize image. Each image costs 10 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` immediately. If "},{"name":"audio_projects_retrieve_details","description":"Check the progress of a audio project. The `downloads` field is populated after a successful render.\n  \n**Statuses**\n- `queued` — waiting to start\n- `rendering`"},{"name":"audio_projects_delete","description":"Permanently delete the rendered audio file(s). This action is not reversible, please be sure before deleting."}],"toolCount":44,"toolsHash":"274f4339a266a659fc5a76a18a3cb9a666c50dbc990696cdf00d1999c309eab8","serverName":"magic-hour","capabilities":["experimental","logging","prompts","resources","tools","extensions"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T06:22:26.375Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":132,"error":null,"detail":{"tools":[{"name":"ping","description":"Check that the Magic Hour MCP server is reachable."},{"name":"wait_for_video_project","description":"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"},{"name":"wait_for_image_project","description":"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 downloa"},{"name":"wait_for_audio_project","description":"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 downloa"},{"name":"fetch_image_download","description":"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"},{"name":"fetch_audio_download","description":"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"},{"name":"fetch_video_download","description":"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 sig"},{"name":"account_retrieve","description":"Get the current credit balance and subscription details of the account that owns the API key."},{"name":"saved_items_list","description":"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 compatib"},{"name":"video_assets_generate_presigned_url","description":"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 [Inpu"},{"name":"face_detection_retrieve_details","description":"Get the details of a face detection task. \n\nUse this API to get the list of faces detected in the image or video to use in the [face swap photo](https://docs.ma"},{"name":"face_detection_detect_faces","description":"Detect faces in an image or video. \n      \nUse this API to get the list of faces detected in the image or video to use in the [face swap photo](https://docs.mag"},{"name":"video_projects_retrieve_details","description":"Check the progress of a video project. The `downloads` field is populated after a successful render.\n  \n**Statuses**\n- `queued` — waiting to start\n- `rendering`"},{"name":"video_projects_delete","description":"Permanently delete the rendered video. This action is not reversible, please be sure before deleting."},{"name":"ai_talking_photo_create_talking_photo","description":"Create a talking photo video from an image and an audio file.\n\nMCP guidance:\n- This starts an async video generation job and returns `id` plus `credits_charged`"},{"name":"ai_video_editor_create_video","description":"**What this API does**\n\nCreate the same Video Editor you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect it t"},{"name":"ai_video_translator_create_video","description":"**What this API does**\n\nCreate the same Video Translator you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect "},{"name":"animation_create_video","description":"Create a Animation video. The estimated frame cost is calculated based on the `fps` and `end_seconds` input.\n\nMCP guidance:\n- This starts an async video generat"},{"name":"audio_to_video_create_video","description":"**What this API does**\n\nCreate 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"},{"name":"auto_subtitle_generator_create_video","description":"Automatically generate subtitles for your video in multiple languages.\n\nMCP guidance:\n- This starts an async video generation job and returns `id` plus `credits"},{"name":"character_replace_create_video","description":"**What this API does**\n\nCreate the same Character Replace you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect"},{"name":"face_swap_create_video","description":"**What this API does**\n\nCreate 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 y"},{"name":"image_to_video_create_video","description":"**What this API does**\n\nCreate 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"},{"name":"lip_sync_create_video","description":"**What this API does**\n\nCreate 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 yo"},{"name":"text_to_video_create_video","description":"**What this API does**\n\nCreate 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 "},{"name":"video_to_video_create_video","description":"**What this API does**\n\nCreate 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"},{"name":"image_projects_retrieve_details","description":"Check the progress of a image project. The `downloads` field is populated after a successful render.\n  \n**Statuses**\n- `queued` — waiting to start\n- `rendering`"},{"name":"image_projects_delete","description":"Permanently delete the rendered image(s). This action is not reversible, please be sure before deleting."},{"name":"ai_clothes_changer_create_image","description":"Change outfits in photos in seconds with just a photo reference. Each photo costs 25 credits.\n\nMCP guidance:\n- This starts an async image generation job and ret"},{"name":"ai_face_editor_edit_image","description":"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 [pric"},{"name":"ai_gif_generator_create_image","description":"Create an AI GIF. Each GIF costs 50 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` immediately. If "},{"name":"ai_image_editor_create_image","description":"Edit images with AI.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` immediately. If the user wants the finis"},{"name":"ai_headshot_generator_create_image","description":"Create an AI headshot. Each headshot costs 50 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` immedi"},{"name":"ai_image_generator_create_image","description":"Create an AI image with advanced model selection and quality controls.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits"},{"name":"ai_image_upscaler_create_image","description":"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 res"},{"name":"ai_meme_generator_create_image","description":"Create an AI generated meme. Each meme costs 10 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` imme"},{"name":"ai_qr_code_generator_create_image","description":"Create an AI QR code. Each QR code costs 0 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` immediate"},{"name":"body_swap_create_image","description":"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)."},{"name":"face_swap_photo_create_image","description":"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://"},{"name":"head_swap_create_image","description":"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 ma"},{"name":"image_background_remover_create_image","description":"Remove background from image. Each image costs 5 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` imm"},{"name":"photo_colorizer_create_image","description":"Colorize image. Each image costs 10 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` immediately. If "},{"name":"audio_projects_retrieve_details","description":"Check the progress of a audio project. The `downloads` field is populated after a successful render.\n  \n**Statuses**\n- `queued` — waiting to start\n- `rendering`"},{"name":"audio_projects_delete","description":"Permanently delete the rendered audio file(s). This action is not reversible, please be sure before deleting."}],"toolCount":44,"toolsHash":"274f4339a266a659fc5a76a18a3cb9a666c50dbc990696cdf00d1999c309eab8","serverName":"magic-hour","capabilities":["experimental","logging","prompts","resources","tools","extensions"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T23:25:04.417Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":130,"error":null,"detail":{"tools":[{"name":"ping","description":"Check that the Magic Hour MCP server is reachable."},{"name":"wait_for_video_project","description":"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"},{"name":"wait_for_image_project","description":"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 downloa"},{"name":"wait_for_audio_project","description":"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 downloa"},{"name":"fetch_image_download","description":"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"},{"name":"fetch_audio_download","description":"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"},{"name":"fetch_video_download","description":"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 sig"},{"name":"account_retrieve","description":"Get the current credit balance and subscription details of the account that owns the API key."},{"name":"saved_items_list","description":"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 compatib"},{"name":"video_assets_generate_presigned_url","description":"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 [Inpu"},{"name":"face_detection_retrieve_details","description":"Get the details of a face detection task. \n\nUse this API to get the list of faces detected in the image or video to use in the [face swap photo](https://docs.ma"},{"name":"face_detection_detect_faces","description":"Detect faces in an image or video. \n      \nUse this API to get the list of faces detected in the image or video to use in the [face swap photo](https://docs.mag"},{"name":"video_projects_retrieve_details","description":"Check the progress of a video project. The `downloads` field is populated after a successful render.\n  \n**Statuses**\n- `queued` — waiting to start\n- `rendering`"},{"name":"video_projects_delete","description":"Permanently delete the rendered video. This action is not reversible, please be sure before deleting."},{"name":"ai_talking_photo_create_talking_photo","description":"Create a talking photo video from an image and an audio file.\n\nMCP guidance:\n- This starts an async video generation job and returns `id` plus `credits_charged`"},{"name":"ai_video_editor_create_video","description":"**What this API does**\n\nCreate the same Video Editor you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect it t"},{"name":"ai_video_translator_create_video","description":"**What this API does**\n\nCreate the same Video Translator you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect "},{"name":"animation_create_video","description":"Create a Animation video. The estimated frame cost is calculated based on the `fps` and `end_seconds` input.\n\nMCP guidance:\n- This starts an async video generat"},{"name":"audio_to_video_create_video","description":"**What this API does**\n\nCreate 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"},{"name":"auto_subtitle_generator_create_video","description":"Automatically generate subtitles for your video in multiple languages.\n\nMCP guidance:\n- This starts an async video generation job and returns `id` plus `credits"},{"name":"character_replace_create_video","description":"**What this API does**\n\nCreate the same Character Replace you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect"},{"name":"face_swap_create_video","description":"**What this API does**\n\nCreate 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 y"},{"name":"image_to_video_create_video","description":"**What this API does**\n\nCreate 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"},{"name":"lip_sync_create_video","description":"**What this API does**\n\nCreate 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 yo"},{"name":"text_to_video_create_video","description":"**What this API does**\n\nCreate 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 "},{"name":"video_to_video_create_video","description":"**What this API does**\n\nCreate 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"},{"name":"image_projects_retrieve_details","description":"Check the progress of a image project. The `downloads` field is populated after a successful render.\n  \n**Statuses**\n- `queued` — waiting to start\n- `rendering`"},{"name":"image_projects_delete","description":"Permanently delete the rendered image(s). This action is not reversible, please be sure before deleting."},{"name":"ai_clothes_changer_create_image","description":"Change outfits in photos in seconds with just a photo reference. Each photo costs 25 credits.\n\nMCP guidance:\n- This starts an async image generation job and ret"},{"name":"ai_face_editor_edit_image","description":"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 [pric"},{"name":"ai_gif_generator_create_image","description":"Create an AI GIF. Each GIF costs 50 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` immediately. If "},{"name":"ai_image_editor_create_image","description":"Edit images with AI.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` immediately. If the user wants the finis"},{"name":"ai_headshot_generator_create_image","description":"Create an AI headshot. Each headshot costs 50 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` immedi"},{"name":"ai_image_generator_create_image","description":"Create an AI image with advanced model selection and quality controls.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits"},{"name":"ai_image_upscaler_create_image","description":"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 res"},{"name":"ai_meme_generator_create_image","description":"Create an AI generated meme. Each meme costs 10 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` imme"},{"name":"ai_qr_code_generator_create_image","description":"Create an AI QR code. Each QR code costs 0 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` immediate"},{"name":"body_swap_create_image","description":"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)."},{"name":"face_swap_photo_create_image","description":"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://"},{"name":"head_swap_create_image","description":"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 ma"},{"name":"image_background_remover_create_image","description":"Remove background from image. Each image costs 5 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` imm"},{"name":"photo_colorizer_create_image","description":"Colorize image. Each image costs 10 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` immediately. If "},{"name":"audio_projects_retrieve_details","description":"Check the progress of a audio project. The `downloads` field is populated after a successful render.\n  \n**Statuses**\n- `queued` — waiting to start\n- `rendering`"},{"name":"audio_projects_delete","description":"Permanently delete the rendered audio file(s). This action is not reversible, please be sure before deleting."}],"toolCount":44,"toolsHash":"274f4339a266a659fc5a76a18a3cb9a666c50dbc990696cdf00d1999c309eab8","serverName":"magic-hour","capabilities":["experimental","logging","prompts","resources","tools","extensions"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T17:29:40.789Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":124,"error":null,"detail":{"tools":[{"name":"ping","description":"Check that the Magic Hour MCP server is reachable."},{"name":"wait_for_video_project","description":"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"},{"name":"wait_for_image_project","description":"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 downloa"},{"name":"wait_for_audio_project","description":"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 downloa"},{"name":"fetch_image_download","description":"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"},{"name":"fetch_audio_download","description":"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"},{"name":"fetch_video_download","description":"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 sig"},{"name":"account_retrieve","description":"Get the current credit balance and subscription details of the account that owns the API key."},{"name":"saved_items_list","description":"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 compatib"},{"name":"video_assets_generate_presigned_url","description":"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 [Inpu"},{"name":"face_detection_retrieve_details","description":"Get the details of a face detection task. \n\nUse this API to get the list of faces detected in the image or video to use in the [face swap photo](https://docs.ma"},{"name":"face_detection_detect_faces","description":"Detect faces in an image or video. \n      \nUse this API to get the list of faces detected in the image or video to use in the [face swap photo](https://docs.mag"},{"name":"video_projects_retrieve_details","description":"Check the progress of a video project. The `downloads` field is populated after a successful render.\n  \n**Statuses**\n- `queued` — waiting to start\n- `rendering`"},{"name":"video_projects_delete","description":"Permanently delete the rendered video. This action is not reversible, please be sure before deleting."},{"name":"ai_talking_photo_create_talking_photo","description":"Create a talking photo video from an image and an audio file.\n\nMCP guidance:\n- This starts an async video generation job and returns `id` plus `credits_charged`"},{"name":"ai_video_editor_create_video","description":"**What this API does**\n\nCreate the same Video Editor you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect it t"},{"name":"ai_video_translator_create_video","description":"**What this API does**\n\nCreate the same Video Translator you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect "},{"name":"animation_create_video","description":"Create a Animation video. The estimated frame cost is calculated based on the `fps` and `end_seconds` input.\n\nMCP guidance:\n- This starts an async video generat"},{"name":"audio_to_video_create_video","description":"**What this API does**\n\nCreate 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"},{"name":"auto_subtitle_generator_create_video","description":"Automatically generate subtitles for your video in multiple languages.\n\nMCP guidance:\n- This starts an async video generation job and returns `id` plus `credits"},{"name":"character_replace_create_video","description":"**What this API does**\n\nCreate the same Character Replace you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect"},{"name":"face_swap_create_video","description":"**What this API does**\n\nCreate 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 y"},{"name":"image_to_video_create_video","description":"**What this API does**\n\nCreate 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"},{"name":"lip_sync_create_video","description":"**What this API does**\n\nCreate 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 yo"},{"name":"text_to_video_create_video","description":"**What this API does**\n\nCreate 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 "},{"name":"video_to_video_create_video","description":"**What this API does**\n\nCreate 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"},{"name":"image_projects_retrieve_details","description":"Check the progress of a image project. The `downloads` field is populated after a successful render.\n  \n**Statuses**\n- `queued` — waiting to start\n- `rendering`"},{"name":"image_projects_delete","description":"Permanently delete the rendered image(s). This action is not reversible, please be sure before deleting."},{"name":"ai_clothes_changer_create_image","description":"Change outfits in photos in seconds with just a photo reference. Each photo costs 25 credits.\n\nMCP guidance:\n- This starts an async image generation job and ret"},{"name":"ai_face_editor_edit_image","description":"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 [pric"},{"name":"ai_gif_generator_create_image","description":"Create an AI GIF. Each GIF costs 50 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` immediately. If "},{"name":"ai_image_editor_create_image","description":"Edit images with AI.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` immediately. If the user wants the finis"},{"name":"ai_headshot_generator_create_image","description":"Create an AI headshot. Each headshot costs 50 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` immedi"},{"name":"ai_image_generator_create_image","description":"Create an AI image with advanced model selection and quality controls.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits"},{"name":"ai_image_upscaler_create_image","description":"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 res"},{"name":"ai_meme_generator_create_image","description":"Create an AI generated meme. Each meme costs 10 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` imme"},{"name":"ai_qr_code_generator_create_image","description":"Create an AI QR code. Each QR code costs 0 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` immediate"},{"name":"body_swap_create_image","description":"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)."},{"name":"face_swap_photo_create_image","description":"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://"},{"name":"head_swap_create_image","description":"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 ma"},{"name":"image_background_remover_create_image","description":"Remove background from image. Each image costs 5 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` imm"},{"name":"photo_colorizer_create_image","description":"Colorize image. Each image costs 10 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` immediately. If "},{"name":"audio_projects_retrieve_details","description":"Check the progress of a audio project. The `downloads` field is populated after a successful render.\n  \n**Statuses**\n- `queued` — waiting to start\n- `rendering`"},{"name":"audio_projects_delete","description":"Permanently delete the rendered audio file(s). This action is not reversible, please be sure before deleting."}],"toolCount":44,"toolsHash":"274f4339a266a659fc5a76a18a3cb9a666c50dbc990696cdf00d1999c309eab8","serverName":"magic-hour","capabilities":["experimental","logging","prompts","resources","tools","extensions"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T11:26:01.732Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":135,"error":null,"detail":{"tools":[{"name":"ping","description":"Check that the Magic Hour MCP server is reachable."},{"name":"wait_for_video_project","description":"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"},{"name":"wait_for_image_project","description":"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 downloa"},{"name":"wait_for_audio_project","description":"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 downloa"},{"name":"fetch_image_download","description":"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"},{"name":"fetch_audio_download","description":"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"},{"name":"fetch_video_download","description":"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 sig"},{"name":"account_retrieve","description":"Get the current credit balance and subscription details of the account that owns the API key."},{"name":"saved_items_list","description":"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 compatib"},{"name":"video_assets_generate_presigned_url","description":"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 [Inpu"},{"name":"face_detection_retrieve_details","description":"Get the details of a face detection task. \n\nUse this API to get the list of faces detected in the image or video to use in the [face swap photo](https://docs.ma"},{"name":"face_detection_detect_faces","description":"Detect faces in an image or video. \n      \nUse this API to get the list of faces detected in the image or video to use in the [face swap photo](https://docs.mag"},{"name":"video_projects_retrieve_details","description":"Check the progress of a video project. The `downloads` field is populated after a successful render.\n  \n**Statuses**\n- `queued` — waiting to start\n- `rendering`"},{"name":"video_projects_delete","description":"Permanently delete the rendered video. This action is not reversible, please be sure before deleting."},{"name":"ai_talking_photo_create_talking_photo","description":"Create a talking photo video from an image and an audio file.\n\nMCP guidance:\n- This starts an async video generation job and returns `id` plus `credits_charged`"},{"name":"ai_video_editor_create_video","description":"**What this API does**\n\nCreate the same Video Editor you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect it t"},{"name":"ai_video_translator_create_video","description":"**What this API does**\n\nCreate the same Video Translator you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect "},{"name":"animation_create_video","description":"Create a Animation video. The estimated frame cost is calculated based on the `fps` and `end_seconds` input.\n\nMCP guidance:\n- This starts an async video generat"},{"name":"audio_to_video_create_video","description":"**What this API does**\n\nCreate 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"},{"name":"auto_subtitle_generator_create_video","description":"Automatically generate subtitles for your video in multiple languages.\n\nMCP guidance:\n- This starts an async video generation job and returns `id` plus `credits"},{"name":"character_replace_create_video","description":"**What this API does**\n\nCreate the same Character Replace you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect"},{"name":"face_swap_create_video","description":"**What this API does**\n\nCreate 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 y"},{"name":"image_to_video_create_video","description":"**What this API does**\n\nCreate 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"},{"name":"lip_sync_create_video","description":"**What this API does**\n\nCreate 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 yo"},{"name":"text_to_video_create_video","description":"**What this API does**\n\nCreate 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 "},{"name":"video_to_video_create_video","description":"**What this API does**\n\nCreate 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"},{"name":"image_projects_retrieve_details","description":"Check the progress of a image project. The `downloads` field is populated after a successful render.\n  \n**Statuses**\n- `queued` — waiting to start\n- `rendering`"},{"name":"image_projects_delete","description":"Permanently delete the rendered image(s). This action is not reversible, please be sure before deleting."},{"name":"ai_clothes_changer_create_image","description":"Change outfits in photos in seconds with just a photo reference. Each photo costs 25 credits.\n\nMCP guidance:\n- This starts an async image generation job and ret"},{"name":"ai_face_editor_edit_image","description":"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 [pric"},{"name":"ai_gif_generator_create_image","description":"Create an AI GIF. Each GIF costs 50 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` immediately. If "},{"name":"ai_image_editor_create_image","description":"Edit images with AI.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` immediately. If the user wants the finis"},{"name":"ai_headshot_generator_create_image","description":"Create an AI headshot. Each headshot costs 50 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` immedi"},{"name":"ai_image_generator_create_image","description":"Create an AI image with advanced model selection and quality controls.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits"},{"name":"ai_image_upscaler_create_image","description":"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 res"},{"name":"ai_meme_generator_create_image","description":"Create an AI generated meme. Each meme costs 10 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` imme"},{"name":"ai_qr_code_generator_create_image","description":"Create an AI QR code. Each QR code costs 0 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` immediate"},{"name":"body_swap_create_image","description":"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)."},{"name":"face_swap_photo_create_image","description":"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://"},{"name":"head_swap_create_image","description":"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 ma"},{"name":"image_background_remover_create_image","description":"Remove background from image. Each image costs 5 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` imm"},{"name":"photo_colorizer_create_image","description":"Colorize image. Each image costs 10 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` immediately. If "},{"name":"audio_projects_retrieve_details","description":"Check the progress of a audio project. The `downloads` field is populated after a successful render.\n  \n**Statuses**\n- `queued` — waiting to start\n- `rendering`"},{"name":"audio_projects_delete","description":"Permanently delete the rendered audio file(s). This action is not reversible, please be sure before deleting."}],"toolCount":44,"toolsHash":"274f4339a266a659fc5a76a18a3cb9a666c50dbc990696cdf00d1999c309eab8","serverName":"magic-hour","capabilities":["experimental","logging","prompts","resources","tools","extensions"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"ping","description":"Check that the Magic Hour MCP server is reachable."},{"name":"wait_for_video_project","description":"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"},{"name":"wait_for_image_project","description":"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 downloa"},{"name":"wait_for_audio_project","description":"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 downloa"},{"name":"fetch_image_download","description":"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"},{"name":"fetch_audio_download","description":"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"},{"name":"fetch_video_download","description":"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 sig"},{"name":"account_retrieve","description":"Get the current credit balance and subscription details of the account that owns the API key."},{"name":"saved_items_list","description":"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 compatib"},{"name":"video_assets_generate_presigned_url","description":"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 [Inpu"},{"name":"face_detection_retrieve_details","description":"Get the details of a face detection task. \n\nUse this API to get the list of faces detected in the image or video to use in the [face swap photo](https://docs.ma"},{"name":"face_detection_detect_faces","description":"Detect faces in an image or video. \n      \nUse this API to get the list of faces detected in the image or video to use in the [face swap photo](https://docs.mag"},{"name":"video_projects_retrieve_details","description":"Check the progress of a video project. The `downloads` field is populated after a successful render.\n  \n**Statuses**\n- `queued` — waiting to start\n- `rendering`"},{"name":"video_projects_delete","description":"Permanently delete the rendered video. This action is not reversible, please be sure before deleting."},{"name":"ai_talking_photo_create_talking_photo","description":"Create a talking photo video from an image and an audio file.\n\nMCP guidance:\n- This starts an async video generation job and returns `id` plus `credits_charged`"},{"name":"ai_video_editor_create_video","description":"**What this API does**\n\nCreate the same Video Editor you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect it t"},{"name":"ai_video_translator_create_video","description":"**What this API does**\n\nCreate the same Video Translator you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect "},{"name":"animation_create_video","description":"Create a Animation video. The estimated frame cost is calculated based on the `fps` and `end_seconds` input.\n\nMCP guidance:\n- This starts an async video generat"},{"name":"audio_to_video_create_video","description":"**What this API does**\n\nCreate 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"},{"name":"auto_subtitle_generator_create_video","description":"Automatically generate subtitles for your video in multiple languages.\n\nMCP guidance:\n- This starts an async video generation job and returns `id` plus `credits"},{"name":"character_replace_create_video","description":"**What this API does**\n\nCreate the same Character Replace you can make in the browser, but programmatically, so you can automate it, run it at scale, or connect"},{"name":"face_swap_create_video","description":"**What this API does**\n\nCreate 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 y"},{"name":"image_to_video_create_video","description":"**What this API does**\n\nCreate 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"},{"name":"lip_sync_create_video","description":"**What this API does**\n\nCreate 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 yo"},{"name":"text_to_video_create_video","description":"**What this API does**\n\nCreate 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 "},{"name":"video_to_video_create_video","description":"**What this API does**\n\nCreate 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"},{"name":"image_projects_retrieve_details","description":"Check the progress of a image project. The `downloads` field is populated after a successful render.\n  \n**Statuses**\n- `queued` — waiting to start\n- `rendering`"},{"name":"image_projects_delete","description":"Permanently delete the rendered image(s). This action is not reversible, please be sure before deleting."},{"name":"ai_clothes_changer_create_image","description":"Change outfits in photos in seconds with just a photo reference. Each photo costs 25 credits.\n\nMCP guidance:\n- This starts an async image generation job and ret"},{"name":"ai_face_editor_edit_image","description":"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 [pric"},{"name":"ai_gif_generator_create_image","description":"Create an AI GIF. Each GIF costs 50 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` immediately. If "},{"name":"ai_image_editor_create_image","description":"Edit images with AI.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` immediately. If the user wants the finis"},{"name":"ai_headshot_generator_create_image","description":"Create an AI headshot. Each headshot costs 50 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` immedi"},{"name":"ai_image_generator_create_image","description":"Create an AI image with advanced model selection and quality controls.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits"},{"name":"ai_image_upscaler_create_image","description":"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 res"},{"name":"ai_meme_generator_create_image","description":"Create an AI generated meme. Each meme costs 10 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` imme"},{"name":"ai_qr_code_generator_create_image","description":"Create an AI QR code. Each QR code costs 0 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` immediate"},{"name":"body_swap_create_image","description":"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)."},{"name":"face_swap_photo_create_image","description":"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://"},{"name":"head_swap_create_image","description":"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 ma"},{"name":"image_background_remover_create_image","description":"Remove background from image. Each image costs 5 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` imm"},{"name":"photo_colorizer_create_image","description":"Colorize image. Each image costs 10 credits.\n\nMCP guidance:\n- This starts an async image generation job and returns `id` plus `credits_charged` immediately. If "},{"name":"audio_projects_retrieve_details","description":"Check the progress of a audio project. The `downloads` field is populated after a successful render.\n  \n**Statuses**\n- `queued` — waiting to start\n- `rendering`"},{"name":"audio_projects_delete","description":"Permanently delete the rendered audio file(s). This action is not reversible, please be sure before deleting."}],"package":null,"toolSurface":{"id":"ts_efnjhxbhb7x2","endpointId":"ep_nzjgnmxrsev2","hash":"274f4339a266a659fc5a76a18a3cb9a666c50dbc990696cdf00d1999c309eab8","toolCount":44,"serverName":"magic-hour","serverVersion":"0.1.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-07T05:25:16.094Z","lastSeenAt":"2026-10-09T20:31:32.005Z","observations":11,"toolNames":["ping","wait_for_video_project","wait_for_image_project","wait_for_audio_project","fetch_image_download","fetch_audio_download","fetch_video_download","account_retrieve","saved_items_list","video_assets_generate_presigned_url","face_detection_retrieve_details","face_detection_detect_faces","video_projects_retrieve_details","video_projects_delete","ai_talking_photo_create_talking_photo","ai_video_editor_create_video","ai_video_translator_create_video","animation_create_video","audio_to_video_create_video","auto_subtitle_generator_create_video","character_replace_create_video","face_swap_create_video","image_to_video_create_video","lip_sync_create_video","text_to_video_create_video","video_to_video_create_video","image_projects_retrieve_details","image_projects_delete","ai_clothes_changer_create_image","ai_face_editor_edit_image","ai_gif_generator_create_image","ai_image_editor_create_image","ai_headshot_generator_create_image","ai_image_generator_create_image","ai_image_upscaler_create_image","ai_meme_generator_create_image","ai_qr_code_generator_create_image","body_swap_create_image","face_swap_photo_create_image","head_swap_create_image","image_background_remover_create_image","photo_colorizer_create_image","audio_projects_retrieve_details","audio_projects_delete"],"distinctSurfaces":13},"endpointFacts":[{"id":"ep_nzjgnmxrsev2","url":"https://mcp.magichour.ai","type":"mcp_streamable_http","factsCheckedAt":"2026-10-08T06:22:26.393Z","auth":{"observedAt":"2026-10-08T06:22:26.744Z","authRequired":false,"scheme":null,"resourceMetadata":{"url":"https://mcp.magichour.ai/.well-known/oauth-protected-resource","resource":"https://mcp.magichour.ai","authorizationServers":["https://magichour.ai"],"scopesSupported":[]},"authorizationServer":{"url":"https://magichour.ai/.well-known/oauth-authorization-server","issuer":"https://magichour.ai","grantTypesSupported":["authorization_code"],"codeChallengeMethodsSupported":["S256"],"tokenEndpointAuthMethodsSupported":["none"],"dynamicClientRegistration":true,"dpopSigningAlgValuesSupported":[],"clientIdMetadataDocumentSupported":null},"conformance":{"dpop":false,"rfc8414":true,"rfc9728":true,"pkceS256":true,"clientIdMetadataDocument":false,"dynamicClientRegistration":true}},"tls":{"observedAt":"2026-10-08T06:22:26.770Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"mcp.magichour.ai","issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validFrom":"2026-09-15T04:11:03.000Z","validTo":"2026-12-14T04:11:02.000Z","daysToExpiry":65,"sanCount":1,"fingerprint256":"11:2C:0D:BB:AA:18:BB:F0:60:93:A9:B8:DF:1A:ED:71:C6:E5:89:53:F6:AB:2B:26:27:5B:54:5A:D9:24:52:47"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"io.github.magichourhq/magic-hour","url":"https://registry.modelcontextprotocol.io/v0/servers/io.github.magichourhq%2Fmagic-hour","firstSeenAt":"2026-09-06T18:19:26.680Z","fetchedAt":"2026-10-07T17:22:46.458Z","normalizedAt":"2026-10-07T17:22:46.458Z"}]},"firstSeenAt":"2026-09-06T18:19:26.680Z","updatedAt":"2026-10-09T20:33:24.554Z"}