
AI images, videos, and audio
Use Magic Hour's hosted media tools to generate and edit images, videos, and audio from your AI, then follow renders and return results.
Example path ·
https://mcp.magichour.ai/Create and edit images and video, generate music, and retrieve existing audio projects. Tool calls require authentication. When exposed, use a matching estimate with the exact create body; resolve blocked/unavailable. For a complete request, default to one eligible result without a budget question. Respect explicit settings and limits; never invent a quote. Estimates never authorize spending. gives static inputs/docs/review, not account eligibility. After creation, use matching wait_for_*_project with the returned id. For *_file_path inputs, upload local bytes with before using file_path. Direct public media URLs must be stable and fetchable as raw bytes; hotlinked URLs can fail. Preserve exact signed download URLs, including query parameters; never append expiration metadata. For native ChatGPT attachments, use for images or for images, video and audio within its supported formats and 20 MiB limit. Set media_type to the attachment's actual kind, not the type of generation requested. Keep each returned path paired with its input role; never pass a bare file ID, filename or chat-local path as a Magic Hour asset. Omit unrequested options only when defaults are eligible. Image Editor defaults to paid-tier nano-banana. On Free, use Image Editor model=flux-2-klein, resolution=640px, image_count=1 only if suitable. Balance does not unlock restricted settings. On tier restrictions, explain the block; never retry unchanged or blindly remove fields. Ask before changing explicit model/resolution requirements.
Choose video from inputs:
Approved image -> directly; edit only for a requested visual change or a source problem that prevents the shot.
Still portrait + audio -> ; text alone is not audio.
Existing video + replacement audio -> .
Preserve an explicitly requested alternative provider.
Choose models from the current schema to match the requested inputs and settings, with verified account eligibility.
Preserve an explicitly requested model; explain unsupported settings before proposing a change.
1 in the ChatGPT listing