get_workflow_guide
Choose a media workflow
Returns required inputs, ordered steps, example requests and review criteria for eight supported Magic Hour workflows. Use when planning a generation, not to run one. Requires authentication but does not check account eligibility or spend credits.
Parametersworkflowrequired
upload_chatgpt_image
Upload attached image
Uploads a PNG, JPEG or WebP image attached in ChatGPT to the connected Magic Hour account. Use this for native ChatGPT photo attachments instead of asking the chat's file runtime to PUT bytes to get_upload_urls. Pass the returned file_path to the existing image or video generation tool. Accepts one image up to 20 MiB. Does not generate media or spend generation credits.
Parametersimagerequired
Checks that the Magic Hour server is reachable. Use for connectivity troubleshooting; it does not validate API credentials or account access. Makes no media or project changes.
Takes no parameters.
wait_for_video_project
Wait for Video Project
Polls a video project until it completes, errors, is canceled or times out. Use with the id returned by a video create tool. Read-only; returns download URLs when complete. After a timeout, resume with the same id rather than creating another generation. Use signed download URLs exactly as returned. Does not inline video content.
Parametersidrequiredtimeout_secondsmax_inline_downloadspoll_interval_secondsinclude_inline_downloads
wait_for_image_project
Wait for Image Project
Polls an image project until it completes, errors, is canceled or times out. Use with the id returned by an image create tool. Read-only; returns the project and download URLs, with optional inline image previews sharing an 8 MiB total limit. After a timeout, resume with the same id rather than creating another generation. Use signed download URLs exactly as returned.
Parametersidrequiredtimeout_secondsmax_inline_downloadspoll_interval_secondsmax_bytes_per_downloadinclude_inline_downloads
wait_for_audio_project
Wait for Audio Project
Polls an audio project until it completes, errors, is canceled or times out. Use with the id returned by an audio create tool. Read-only; returns the project and download URLs, with optional inline audio previews sharing an 8 MiB total limit. After a timeout, resume with the same id rather than creating another generation. Use signed download URLs exactly as returned.
Parametersidrequiredtimeout_secondsmax_inline_downloadspoll_interval_secondsmax_bytes_per_downloadinclude_inline_downloads
fetch_image_download
Fetch Image Download
Fetch a completed project's image as inline MCP image content for compatible clients. Use the exact signed download URL, including query parameters. Requires HTTPS at the configured Magic Hour media host. Read-only; limited to 8 MiB, or a smaller requested max_bytes. Use the signed URL directly for larger files.
Parametersmax_bytesdownload_urlrequired
fetch_audio_download
Fetch Audio Download
Fetch a completed project's audio as inline MCP audio content for compatible clients. Use the exact signed download URL, including query parameters. Requires HTTPS at the configured Magic Hour media host. Read-only; limited to 8 MiB, or a smaller requested max_bytes. Use the signed URL directly for larger files.
Parametersmax_bytesdownload_urlrequired
fetch_video_download
Fetch Video Download
Fetch a completed project's video as an embedded MCP binary resource for compatible clients. Use the exact signed download URL, including query parameters. Requires HTTPS at the configured Magic Hour media host. Read-only; limited to 8 MiB, or a smaller requested max_bytes. Use the signed URL directly for larger files.
Parametersmax_bytesdownload_urlrequired
get_account_info
Get account info
Returns credit balance and subscription details for the connected account. Use to inspect account information before generation. Read-only; this is not a request-specific cost quote or model-eligibility check.
Takes no parameters.
list_saved_items
List saved items
Lists the account's active saved characters, references, voice recordings, moodboards and brand kits, newest first. Reusable paths are in each item's assets[].file_path; temporary signed URLs support preview/download. Read-only; pass next_cursor as cursor for the next page.
Parameterstypelimitcursor
get_upload_urls
Get upload URLs
Creates presigned upload URL and file-path pairs for local media. Use when a generation needs a file the user has locally: upload raw bytes to the returned upload_url, then pass its file_path to the create tool. Does not upload file bytes or start a generation.
Parametersitemsrequired
get_face_detection_results
Get face detection results
Returns a face-detection job's status and detected faces. Use with the id from detect_faces to inspect progress and choose face mappings before a selected-face swap. Read-only; faces may populate while processing.
Parametersidrequired
Starts an asynchronous face-detection task for a supplied image or video and returns its id and charge information. Use before a selected-face swap, then retrieve its status and detected faces with get_face_detection_results. Current API documentation describes detection as free; pricing may change.
Parametersassetsrequiredconfidence_score
get_video_project
Get video project
Returns a video project's status and, once complete, its download URLs. Use to check progress with the id from a video create tool. Read-only.
Parametersidrequired
delete_video_project
Delete video project
Deletes the video project and attempts to delete its completed output. Cannot be undone; confirm with the user first.
Parametersidrequired
create_talking_photo
Create talking photo
Use only with the user's own likeness or content they are authorized to use. Do not use for impersonation, deception, sexual content, or content involving minors.
Animates a still portrait so it speaks an existing audio recording. Use with a portrait photo and an audio file; text alone is not accepted and this tool does not synthesize speech. Starts a background job that costs credits; returns a project id for wait_for_video_project.
Parametersnamestyleassetsrequiredresolutionend_secondsrequiredstart_secondsrequired
create_spoken_ad_video
Create spoken ad video
Creates a creator-style spoken ad video from a prepared image and a text script. Use when the image is ready and the dialogue should be generated from text. Starts a background job that costs credits; returns a project id for wait_for_video_project.
Parametersmodelassetsrequiredscriptrequiredresolutionend_secondsrequired
Edits the appearance or content of a supplied video segment using a text prompt. Use with a source video, the requested changes and the clip end time. Starts a background job that costs credits; returns a project id for wait_for_video_project.
Parametersnamemodelstylerequiredassetsrequiredresolutionend_secondsrequiredstart_seconds
translate_video
Translate video
Translates speech in a supplied video segment into a supported target language. Starts a background job that costs credits; returns a project id for wait_for_video_project.
Parametersnameassetsrequiredresolutionend_secondsrequiredstart_secondstarget_languagerequired
upscale_video
Upscale video
Upscales a supplied video segment to a selected output resolution while preserving its aspect ratio. Starts a background job that costs credits; returns a project id for wait_for_video_project.
Parametersnameassetsrequiredresolutionrequiredend_secondsrequiredstart_seconds
create_animation
Create animation
Creates a stylized animated video with art and camera settings, using a custom prompt or an audio-derived prompt mode. Can use an initial image and audio. Credits depend on frame rate and duration; returns a project id for wait_for_video_project.
Parametersfpsrequirednamestylerequiredwidthrequiredassetsrequiredheightrequiredend_secondsrequired
create_video_from_audio
Create video from audio
Generates an audio-guided video from a supplied audio track, with an optional starting image and visual prompt. Starts a background job that costs credits; returns a project id for wait_for_video_project.
Parametersnamestyleassetsrequiredresolutionend_secondsrequiredstart_seconds
add_subtitles_to_video
Add subtitles to video
Adds automatically generated subtitles to a supplied video segment using a subtitle preset or custom text styling. Starts a background job that costs credits; returns a project id for wait_for_video_project.
Parametersnamestylerequiredassetsrequiredend_secondsrequiredstart_secondsrequired
replace_character_in_video
Replace character in video
Use only with the user's own likeness or content they are authorized to use. Do not use for impersonation, deception, sexual content, or content involving minors.
Replaces a subject in a video with a character from a reference image, or transfers the video's motion onto that character. Starts a background job that costs credits; returns a project id for wait_for_video_project.
Parametersnamemodelstyleassetsrequiredresolutionend_secondsrequiredstart_seconds
swap_face_in_video
Swap face in video
Use only with the user's own likeness or content they are authorized to use. Do not use for impersonation, deception, sexual content, or content involving minors.
Swaps faces in an existing video: all faces with a reference image, or selected faces using detect_faces results. Starts a background job that costs credits; returns a project id for wait_for_video_project.
Parametersnamestyleassetsrequiredend_secondsrequiredstart_secondsrequired
create_video_from_image
Create video from image
Animates a supplied image into a video using motion instructions and available model options. Starts a background job that costs credits; returns a project id for wait_for_video_project.
Parametersnameaudiomodelstyleassetsrequiredresolutionend_secondsrequired
create_lip_sync_video
Create lip sync video
Use only with the user's own likeness or content they are authorized to use. Do not use for impersonation, deception, sexual content, or content involving minors.
Adjusts an existing video's lip movements to match supplied replacement audio. For a still portrait plus audio, use create_talking_photo. Starts a background job that costs credits; returns a project id for wait_for_video_project.
Parametersnamestyleassetsrequiredend_secondsrequiredmax_fps_limitstart_secondsrequired
create_video_from_text
Create video from text
Generates a video from a text prompt, with optional supported reference inputs and model settings. To animate an existing starting image, use create_video_from_image. Starts a background job that costs credits; returns a project id for wait_for_video_project.
Parametersnameaudiomodelstylerequiredreferencesresolutionend_secondsrequiredaspect_ratio
restyle_video
Restyle video
Restyles an existing video clip with an art-style preset or a custom prompt. Supports v1/v2 presets, not v3. Starts a background job that costs credits; returns a project id for wait_for_video_project.
Parametersnamestylerequiredassetsrequiredend_secondsrequiredstart_secondsrequiredfps_resolution
get_image_project
Get image project
Returns an image project's status and, once complete, its download URLs. Use to check progress with the id from an image create tool. Read-only.
Parametersidrequired
delete_image_project
Delete image project
Deletes the image project and attempts to delete its completed output. Cannot be undone; confirm with the user first.
Parametersidrequired
change_clothes_in_photo
Change clothes in photo
Use only with the user's own likeness or content they are authorized to use. Do not use for impersonation, deception, sexual content, or content involving minors.
Changes clothing in a person photo using a supplied garment reference image. Costs 25 credits. Starts a background job; returns a project id for wait_for_image_project.
Parametersnameassetsrequired
edit_face_in_photo
Edit face in photo
Adjusts facial expression, pose and gaze in a supplied photo using numeric controls. Costs 1 credit per edit; output size depends on the subscription tier. Starts a background job; returns a project id for wait_for_image_project.
Parametersnamestylerequiredassetsrequired
create_gif_or_short_video
Create GIF or short video
Generates a short animation from a text prompt, with GIF, MP4 or WebM output. Costs 50 credits. Starts a background job; returns a project id for wait_for_image_project.
Parametersnamestylerequiredoutput_format
Edits one or more supplied images using a text prompt. For prompt-only creation use generate_image. Costs credits; returns a project id for wait_for_image_project. Model eligibility depends on the account plan; the default model is not available on every plan.
Parametersnamemodelstylerequiredassetsrequiredresolutionimage_countaspect_ratio
generate_headshot
Generate headshot
Creates a headshot from a supplied photo containing one detectable face, with optional appearance instructions. Costs 50 credits. Starts a background job; returns a project id for wait_for_image_project.
Parametersnamestyleassetsrequired
generate_image
Generate image
Generates one or more images from a text prompt, with model, output size and image count options. Costs credits; returns a project id for wait_for_image_project.
Parametersnamemodelstylerequiredresolutionimage_countrequiredaspect_ratio
upscale_image
Upscale image
Upscales a supplied image 2x or 4x. Cost depends on scale and mode (25-200 credits); returns a project id for wait_for_image_project.
Parametersnamestyleassetsrequiredscale_factorrequired
Creates a meme from a topic and template selection. Costs 10 credits. Starts a background job; returns a project id for wait_for_image_project.
Parametersnamestylerequired
create_qr_code
Create QR code
Creates a stylized QR code from supplied text or a URL and an art-style description. Currently costs 0 credits. Starts a background job; returns a project id for wait_for_image_project.
Parametersnamestylerequiredcontentrequired
place_person_in_scene
Place person in scene
Use only with the user's own likeness or content they are authorized to use. Do not use for impersonation, deception, sexual content, or content involving minors.
Places a person from one supplied photo into a supplied scene image. Cost depends on resolution (from 50 credits at 640px); returns a project id for wait_for_image_project.
Parametersnameassetsrequiredresolutionrequired
swap_face_in_photo
Swap face in photo
Use only with the user's own likeness or content they are authorized to use. Do not use for impersonation, deception, sexual content, or content involving minors.
Swaps faces in a supplied photo using a source face image or selected face mappings. Costs 10 credits; output size depends on subscription. Returns a project id for wait_for_image_project.
Parametersnameassetsrequired
swap_head_in_photo
Swap head in photo
Use only with the user's own likeness or content they are authorized to use. Do not use for impersonation, deception, sexual content, or content involving minors.
Swaps a head from a supplied image onto a supplied body image. Costs 10 credits; returns a project id for wait_for_image_project.
Parametersnameassetsrequiredmax_resolution
remove_image_background
Remove image background
Removes an image's background, optionally replacing it with another supplied image. Costs 5 credits. Starts a background job; returns a project id for wait_for_image_project.
Parametersnameassetsrequired
colorize_photo
Colorize photo
Colorizes a black-and-white or faded photo. Costs 10 credits; returns a project id for wait_for_image_project.
Parametersnameassetsrequired
get_audio_project
Get audio project
Returns an audio project's status and, once complete, its download URLs. Use to check progress with the id from an audio create tool. Read-only.
Parametersidrequired
delete_audio_project
Delete audio project
Deletes the audio project and attempts to delete its completed output. Cannot be undone; confirm with the user first.
Parametersidrequired
generate_music
Generate music
Generates music from a description, with optional custom lyrics or instrumental-only output. Costs 1 credit per requested second; returns a project id for wait_for_audio_project.
Parametersnamestylerequireddurationrequired