Generate, edit, and retrieve images, video, and audio with Magic Hour, including recovery of existing projects.

MITAuto-check passed

Install Magic Hour Media

skills CLI
$ npx skills add hashgraph-online/awesome-codex-plugins --skill magic-hour-media -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install hashgraph-online/awesome-codex-plugins magic-hour-media --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/hashgraph-online/awesome-codex-plugins.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/magichourhq/skills/skills/magic-hour-media .claude/skills/magic-hour-media && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
magic-hour-media
GitHub stars
1.3k
Token cost
~3.5k tokens
SKILL.md length
1,763 words
Files
6 (incl. references)
Skills in repo
716
Repo updated
First seen
Licence
MIT

At a glance

Generate, edit, and retrieve images, video, and audio with Magic Hour, including recovery of existing projects.

  • Works in 3 steps: Call video_assets_generate_presigned_url… → Upload each file's raw bytes to its… → Verify the upload succeeded, then pass…
  • Magic Hour is requested
  • SKILL.md covers Work from the user's goal, Connect to the right service, Choose the workflow and Set the quality target, plus 2 more sections
  • Reaches docs.magichour.ai and mcp.magichour.ai; needs MAGIC_HOUR_API_KEY

What it does

Magic Hour Media is an agent skill from hashgraph-online/awesome-codex-plugins. Generate, edit, and retrieve images, video, and audio with Magic Hour, including recovery of existing projects. Use when Magic Hour is requested or is the project's chosen media provider; preserve an explicitly requested alternative provider.

Its SKILL.md is about 3.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including reference files (for example `agents/openai.yaml`, `references/music.md` and `references/remix.md`).

The repository describes itself as: A curated list of awesome OpenAI Codex / ChatGPT plugins, skills, and resources. The 1 Codex Marketplace. See live plugins at: https://hol.org/plugins/best-codex-plugins. The licence is MIT.

When your agent uses it

  • Magic Hour is requested
  • Is the projects chosen media provider
  • Preserve an explicitly requested alternative provider

Example prompts

  • “/magic-hour-media”

Requirements

  • A credential in MAGIC_HOUR_API_KEY

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. Call video_assets_generate_presigned_url for their actual media types and extensions.
  2. Upload each file's raw bytes to its returned upload_url with an HTTPS PUT from a runtime that can read the user's file. A successful URL…
  3. Verify the upload succeeded, then pass the matching returned file_path to the creation tool. Never pass a local filesystem path as a…

What it can do on your machine

Read from SKILL.md and the folder at commit 3e1456a. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • docs.magichour.ai
    • mcp.magichour.ai

    Also links to:

    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • MAGIC_HOUR_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Magic Hour Media loads about 3.5k tokens when it runs, and up to ~6.4k if it reads all its reference files. Until then it costs about 65 tokens; SKILL.md has 1,763 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~65
When it runs · the whole SKILL.md, loaded when a task matches
~3.5k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~6.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from hashgraph-online/awesome-codex-plugins at commit 3e1456a, republished under its MIT licence (© hashgraph-online). 1,763 words, ~3,535 tokens.

Download SKILL.mdSave it as .claude/skills/magic-hour-media/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
magic-hour-media
description
Generate, edit, and retrieve images, video, and audio with Magic Hour, including recovery of existing projects. Use when Magic Hour is requested or is the project's chosen media provider; preserve an explicitly requested alternative provider.
license
MIT
metadata.author
magichourhq
metadata.version
1.5.0

Magic Hour media

Deliver a usable image, video, or audio result. A queued project ID is an intermediate result unless the user asked only to submit a job.

Requires network access and either a connected Magic Hour MCP server or a Magic Hour API key with an HTTPS-capable runtime. Generation consumes Magic Hour credits.

Work from the user's goal

Accept ordinary requests such as “put me in this clip,” “make my character do this” or “turn this portrait into an impossible scene.” Infer the placement and creative direction from supplied context; recommend one direction when needed. Ask only for missing information that changes the result or spending authority, not model names, schema fields or a completed prompt template. When creative choices are delegated, inspect and accept suitable intermediate assets yourself and continue. Respect requested review points and the existing budget. Lead delivery with the actual media; keep IDs and technical records in the project unless they are needed to explain a failure. For transformations or recreating a visual format, read the remix workflow; for music, read music and performance.

Connect to the right service

Use an already-connected Magic Hour creation MCP if available. Its hosted endpoint is https://mcp.magichour.ai/. The separate https://docs.magichour.ai/mcp searches documentation; it does not generate media.

If creation tools are unavailable, read references/setup.md in this skill for setup and the API fallback. Do not silently replace an existing client configuration. Never request an API key in chat or put it in source code; use the client's credential flow or MAGIC_HOUR_API_KEY in the local environment.

Use live tool schemas, or the API documentation index, for current models, allowed durations, resolutions, and prices. Web-app features and plans do not imply identical API support. Do not copy a remembered model catalog or price table.

Choose the workflow

User goalCreation toolCompletion tool
Original artwork, portrait, cover or product imageai_image_generator_create_imagewait_for_image_project
Edit an existing image while preserving its contentai_image_editor_create_imagewait_for_image_project
Animate a supplied imageimage_to_video_create_videowait_for_video_project
Put a supplied face into existing footageface_swap_create_videowait_for_video_project
Replace a whole character or transfer a performancecharacter_replace_create_videowait_for_video_project
Generate video from a text descriptiontext_to_video_create_videowait_for_video_project
Match an existing video's mouth movement to audiolip_sync_create_videowait_for_video_project
Animate a portrait using supplied speechai_talking_photo_create_talking_photowait_for_video_project
Generate speech from textai_voice_generator_create_audiowait_for_audio_project
Create visuals from a supplied soundtrackaudio_to_video_create_videowait_for_video_project
Evolving visuals with audio-sync camera effectsanimation_create_videowait_for_video_project
Replace a face or body in a still photoface_swap_photo_create_image or body_swap_create_imagewait_for_image_project
Restyle existing footageai_video_editor_create_videowait_for_video_project
Reinterpret footage in an animation/art stylevideo_to_video_create_videowait_for_video_project
Caption the final picture and speechauto_subtitle_generator_create_videowait_for_video_project
Exact headline, crop, trim or assembled layoutAvailable local editor/compositorInspect the exported file
Retrieve a known projectNo new creation callMatching wait or retrieve tool

Tool names can have a client-specific prefix. Discover their current input schemas before calling them.

For full-person photo placement, distinguish Body Swap's person_file_path and scene_file_path from face-only replacement. For Video-to-Video, a custom prompt is ignored under the default prompt mode. Music Video Generator's web scene-assembly workflow, Video Extender and Video Upscaler have no equivalent dedicated endpoints in the public schema as checked September 11, 2026. Recheck support; when still absent, prepare the accepted inputs and direct web handoff instead of inventing tools. The complete use-case map links those workflows.

When installed, use ai-video-generation for a broad video request, creator-video-remix for a supplied reference format and ai-media-quality-review before final delivery. Use the other focused skill for image-to-video, face/body swap, text-to-video, image editing, talking video, character replace, music video, existing-video editing, product visuals, campaign kits, character consistency or thumbnails. Distinguish face-only identity changes from whole-character replacement, and a portrait's new speech from an existing video's performance. Do not require the user to memorize a skill name or install a companion just to finish a supported task. Reuse the current connection, project brief and accepted media; only ask for missing information that changes the output or authorization.

Set the quality target

Before generating, translate the request into a short quality brief:

  • intended use, aspect ratio, resolution, and duration
  • subject, composition, viewpoint or camera move, lighting, and visual style
  • details that must remain accurate, such as identity, product shape, logo, colors, text, clothing, or background
  • failure conditions that would make the result unusable

Infer these from the user's project when possible. For a website hero, leave deliberate negative space where the interface places text. When exact identity, product geometry, packaging, or branding matters, prefer editing an authorized reference image over recreating it from text alone. For image-to-video, use the source image to define appearance and prompt mainly for subject motion, camera motion, timing, and what must stay fixed. Keep short videos to one coherent action unless the chosen duration and model support a more complex sequence.

Choose the model from the live schema according to the requested result. Prefer the current recommended model for a general request. When the schema describes a model as better for the needed behavior—such as typography, identity preservation, reference control, motion, audio, or speed—use that evidence to select it. Do not select the cheapest or fastest model when the user prioritizes final quality. Match resolution to the placement and critical detail: a tiny preview cannot prove small text is accurate. Use a cheaper preview when it answers a specific appearance or motion question, and label it as a preview. Check the total cost against the existing authorized budget; ask only when that authorization does not cover the intended work. Preserve the user's model, resolution, and spending limit.

Write a concrete prompt in natural language. Describe the subject and action first, then composition or camera, lighting and materials, style, and required constraints. Avoid conflicting styles, long adjective lists, and unsupported negative-prompt syntax. For edits, state the requested change and the elements that must remain unchanged. Request only missing inputs that materially affect the result. Preserve the user's chosen model and budget.

Show full SKILL.md (787 more words)Show less

Create within the authorized scope

Generation spends credits. Use account_retrieve when balance or tier affects feasibility; its result contains private account data, so report only the relevant balance or eligibility. Select supported parameters from the current schema. Prefer one output for an initial asset unless the user requests a batch. An authorized generation does not authorize buying credits, upgrading a plan, or running an unrequested batch.

For face and voice inputs, use material the user is entitled to use and follow the host's applicable safety rules. Do not imply ownership or consent from a public URL alone.

When local input files are needed:

  1. Call video_assets_generate_presigned_url for their actual media types and extensions.
  2. Upload each file's raw bytes to its returned upload_url with an HTTPS PUT from a runtime that can read the user's file. A successful URL allocation does not upload anything.
  3. Verify the upload succeeded, then pass the matching returned file_path to the creation tool. Never pass a local filesystem path as a hosted storage path.

The hosted MCP cannot read arbitrary files on the user's computer. If the client cannot upload bytes, use the API/SDK route or ask for an accessible input. Do not invent a hosted local-file upload tool. Existing uploaded paths and stable public URLs returning raw media bytes may also be accepted; consult the current endpoint schema.

Submit the creation request once and retain the returned project ID before doing more work. If the request times out before an ID is returned, do not blindly resubmit: the first request may already have created a paid job. Reconcile it through the user's dashboard or available project evidence first, or explain the uncertainty and obtain direction.

Complete and deliver

Call the matching wait tool with the existing ID. A polling timeout is not proof that generation failed. If still pending, retrieve or wait for the same project within the user's time budget; do not create another project to recover a wait timeout.

Proceed to download only after the project reports complete. On error or canceled, return the project ID and actionable error; do not claim a usable output. If no download is present, report that proof gap.

Use exact_download_urls[n] or downloads[n].url exactly as returned. Preserve every signed query parameter; expires_at is separate metadata. For an expired URL, retrieve the existing project again before considering regeneration. Never attach the Magic Hour API key to a storage download or presigned upload request.

When the user needs an asset in their application, download it into the requested project location, verify its actual media type and dimensions or duration, and use that local file. Requested dimensions are not proof of delivered dimensions. If the model ignores the ratio, use a crop only if it preserves the subject and required copy area; otherwise identify a supported reframing route within budget. Never stretch the image or label a wrong-size file as complete. Avoid embedding an expiring signed URL into production code.

Preview the finished media whenever the environment supports it. Evaluate it against the quality brief before claiming success:

  • images: composition, crop, subject accuracy, anatomy, hands and faces, requested text and logo integrity, unintended lettering or brand-like marks, and visible artifacts
  • video: the first and last frames, subject and camera motion, temporal consistency, identity and object preservation, flicker, warping, and unwanted cuts
  • lip sync or talking portraits: timing, mouth shapes, face stability, expression, audio continuity, and the requested duration
  • audio: intelligibility, pronunciation, pacing, clipping, silence, and audible artifacts

For speech, keep stage directions out of text that will be read aloud, use a live-supported voice, listen through the final word, and measure duration before synchronizing pictures. Reuse accepted audio for visual revisions. Preserve pronunciation notes and the approved voice choice for later work; do not assume a preset implies endorsement or permission to impersonate someone.

If the result misses a required criterion, identify the specific failure and revise the prompt, input, model, or resolution that caused it. Change the smallest useful variable so the next result is informative. A new generation spends more credits, so iterate only within the user's authorized budget. If no further generation is authorized, return the best result with the failed criterion stated plainly.

Return the finished artifact or usable link, where it was saved, and any material limitation. A tool connection, schema match, or accepted request is not proof of completed generation.

For recurring work, retain accepted references, local output paths, project IDs and the few identity/voice/layout decisions needed next time in the project's existing brief. Do not create a competing registry or save signed URLs as permanent assets. On a later request, read that brief and reuse accepted work; copy, crop and download-link changes usually do not need a new generation.

© hashgraph-online, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 5 other files (references) in plugins/magichourhq/skills/skills/magic-hour-media of hashgraph-online/awesome-codex-plugins.

  • SKILL.md
  • LICENSE.txt
  • agents/openai.yaml
  • references/music.md
  • references/remix.md
  • references/setup.md

Open the folder on GitHubat commit 3e1456a

Compare with similar skills

Magic Hour Media next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Magic Hour Media compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Magic Hour Media this skillhashgraph-online/awesome-codex-plugins1.3k—~3.5kAutomated safety check: PassMIT
HyperFrames Audioheygen-com/hyperframes60k1 repos~6.5kAutomated safety check: PassApache-2.0
Venice Audio Musicnexu-io/open-design100k—~297Automated safety check: PassApache-2.0
Iterative Retrievalaffaan-m/ECC277k7 repos~1.6kAutomated safety check: PassMIT
Audio Descriptionsthedaviddias/Front-End-Checklist74k—~549Automated safety check: PassMIT
Team AudioDonchitos/Claude-Code-Game-Studios26k—~4.4kAutomated safety check: NotesMIT

Similar skills

  • HyperFrames Audio

    heygen-com/hyperframes

    Mixes audio already placed in a HyperFrames composition: fades, gain, ducking under a voiceover, effect chains, automation and shared submix buses.

    60k GitHub starsUsed in 1 repo~6.5k tokens
    Media & CreativeAuto-check passed
  • Venice Audio Music

    nexu-io/open-design

    Music generation queueing, retrieval, and completion endpoints via Venice.ai.

    100k GitHub stars~297 tokensUpdated yesterday
    Media & CreativeAuto-check passed
  • Pattern for progressively refining context retrieval to solve the subagent context problem.

    277k GitHub starsUsed in 7 repos~1.6k tokens
    Agent WorkflowsAuto-check passed
  • Audio Descriptions

    thedaviddias/Front-End-Checklist

    A skill your agent uses when reviewing rendered HTML, interactive components, or design-system patterns related to Provide audio descriptions for video.

    74k GitHub stars~549 tokensUpdated 4 days ago
    Frontend & DesignAuto-check passed
  • Team Audio

    Donchitos/Claude-Code-Game-Studios

    Orchestrate the audio team — audio-director, sound-designer, technical-artist, gameplay-programmer — direction through implementation.

    26k GitHub stars~4.4k tokensUpdated 3 days ago
    Game DevelopmentAuto-check: notes
  • サブエージェントのコンテキスト問題を解決するために、コンテキスト取得を段階的に洗練するパターン. An agent skill from affaan-m/ECC.

    277k GitHub starsUsed in 2 repos~1.1k tokens
    Auto-check passed

More from hashgraph-online/awesome-codex-plugins

All 715 skills in this repo
  • Anime Reaction Gif

    hashgraph-online/awesome-codex-plugins

    Create original anime-style reaction stickers as looping GIFs and MP4 previews, using generated character pose sheets and timed key poses.

    1.3k GitHub stars~922 tokensUpdated today
    Auto-check passed
  • Calibredb

    hashgraph-online/awesome-codex-plugins

    Manage and query Calibre libraries with the calibredb CLI (local paths or Calibre Content server URLs).

    1.3k GitHub stars~1k tokensUpdated today
    Auto-check passed
  • Rust API Test Harness

    hashgraph-online/awesome-codex-plugins

    A skill your agent uses when adding, changing, testing, or debugging Rust HTTP APIs and services, especially when Codex needs black-box integration tests, random-port app startup, real database test…

    1.3k GitHub stars~1.7k tokensUpdated today
    Auto-check passed
  • Art

    hashgraph-online/awesome-codex-plugins

    Make a studio's game look like something at build time — a cover from a real frame of the game (free), painted covers, backdrops, textures and character plates from image models through the…

    1.3k GitHub stars~2.5k tokensUpdated today
    Auto-check passed
  • Calle

    hashgraph-online/awesome-codex-plugins

    Use CALL-E from Codex through the calle CLI. An agent skill from hashgraph-online/awesome-codex-plugins.

    1.3k GitHub stars~2.9k tokensUpdated today
    Auto-check passed
  • Game Balance Economy

    hashgraph-online/awesome-codex-plugins

    Balance game difficulty, resources, rewards, probability, progression, economies, and dominant strategies.

    1.3k GitHub stars~618 tokensUpdated today
    Auto-check passed

Questions about Magic Hour Media

What does Magic Hour Media do?

Generate, edit, and retrieve images, video, and audio with Magic Hour, including recovery of existing projects. Magic Hour Media is an agent skill from hashgraph-online/awesome-codex-plugins. Generate, edit, and retrieve images, video, and audio with Magic Hour, including recovery of existing projects.

When should I use Magic Hour Media?

Magic Hour Media fits situations like: magic Hour is requested; is the projects chosen media provider; preserve an explicitly requested alternative provider.

How do I install Magic Hour Media in Claude Code?

Run `npx skills add hashgraph-online/awesome-codex-plugins --skill magic-hour-media -a claude-code`. Or copy the skill folder (plugins/magichourhq/skills/skills/magic-hour-media in hashgraph-online/awesome-codex-plugins) into .claude/skills/magic-hour-media in your project. Claude Code loads it when a task matches its description.

How do I install Magic Hour Media in Codex?

Run `npx skills add hashgraph-online/awesome-codex-plugins --skill magic-hour-media -a codex`. Or copy the skill folder (plugins/magichourhq/skills/skills/magic-hour-media in hashgraph-online/awesome-codex-plugins) into .agents/skills/magic-hour-media in your project. Codex loads it when a task matches its description.

Can I use Magic Hour Media in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add hashgraph-online/awesome-codex-plugins --skill magic-hour-media -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/magic-hour-media, .gemini/skills/magic-hour-media, .github/skills/magic-hour-media and .opencode/skills/magic-hour-media in your project.

What does Magic Hour Media need to run?

Going by SKILL.md and its folder, Magic Hour Media needs credentials named MAGIC_HOUR_API_KEY. Our summary lists: A credential in MAGIC_HOUR_API_KEY.

Does Magic Hour Media access the network?

SKILL.md names 3 domains. In commands or code: docs.magichour.ai and mcp.magichour.ai; the agent is likely to contact these when it follows the instructions. As links in the text: github.com. This is read from the text; nothing was executed.

Is Magic Hour Media safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Magic Hour Media use?

Magic Hour Media is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Magic Hour Media use?

About 3.5k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.8k tokens, read only when the agent opens those files.

What are the alternatives to Magic Hour Media?

Skills that share tags, products or a category with Magic Hour Media: HyperFrames Audio (heygen-com/hyperframes, 60k stars), Venice Audio Music (nexu-io/open-design, 100k stars), Iterative Retrieval (affaan-m/ECC, 277k stars) and Audio Descriptions (thedaviddias/Front-End-Checklist, 74k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Magic Hour Media?

hashgraph-online (a GitHub organization) maintains it in hashgraph-online/awesome-codex-plugins, which has 1,267 GitHub stars. The repository holds 716 skills in this directory. The repository was last updated on October 10, 2026.

Source: hashgraph-online/awesome-codex-plugins on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.