Agent skill

Muapi Media

by sickn33 in sickn33/agentic-awesome-skills

Generate images and videos with MuAPI's schema-driven asynchronous media API while protecting keys, polling, and output downloads.

MITAuto-check passedMedia & Creative

Install Muapi Media

skills CLI
$ npx skills add sickn33/agentic-awesome-skills --skill muapi-media -a claude-code

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

GitHub CLI
$ gh skill install sickn33/agentic-awesome-skills muapi-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/sickn33/agentic-awesome-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/muapi-media .claude/skills/muapi-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
muapi-media
GitHub stars
47k
Used in
1 other repo
Token cost
~2.8k tokens
SKILL.md length
1,026 words
Files
1
Skills in repo
1,354
Repo updated
First seen
Licence
MIT

At a glance

Generate images and videos with MuAPI's schema-driven asynchronous media API while protecting keys, polling, and output downloads.

  • Works in 5 steps: Discover and validate a model → Prepare one reviewed request → Submit exactly once → …
  • Tasks that involve Async programming
  • SKILL.md covers Overview, When to Use This Skill, Preconditions and API Contract, plus 7 more sections
  • Calls jq and curl; reaches api.muapi.ai; needs MUAPI_API_KEY

What it does

Muapi Media is an agent skill from sickn33/agentic-awesome-skills. Generate images and videos with MuAPI's schema-driven asynchronous media API while protecting keys, polling, and output downloads.

Its SKILL.md is about 2.8k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Media & Creative, covering Async programming and Image generation. The repository describes itself as: AAS Core is the local, agent-first control plane for complete catalog discovery, agent-owned selection, stack validation, and planning, backed by 2,400+ agentic skills. Includes… The licence is MIT.

When your agent uses it

  • Tasks that involve Async programming
  • Tasks that involve Image generation

Example prompts

  • “/muapi-media”

Requirements

  • A credential in MUAPI_API_KEY

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Discover and validate a model
  2. Prepare one reviewed request
  3. Submit exactly once
  4. Poll with a finite deadline
  5. Download without the API key

What it can do on your machine

Read from SKILL.md and the folder at commit ec02547. 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

    Shell commands in SKILL.md call:

    • jq
    • curl

    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:

    • api.muapi.ai

    Also links to:

    • muapi.ai

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

  • Credentials

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

    • MUAPI_API_KEY

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

Context cost

Muapi Media loads about 2.8k tokens when it runs. Until then it costs about 36 tokens; SKILL.md has 1,026 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~36
When it runs · the whole SKILL.md, loaded when a task matches
~2.8k

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 sickn33/agentic-awesome-skills at commit ec02547, republished under its MIT licence (© sickn33). 1,026 words, ~2,754 tokens.

Download SKILL.mdSave it as .claude/skills/muapi-media/SKILL.md (or your agent's skills folder).
name
muapi-media
description
Generate images and videos with MuAPI's schema-driven asynchronous media API while protecting keys, polling, and output downloads.
category
media
risk
critical
source
self
source_type
self
date_added
2026-08-26
author
Anil-matcha
tags
muapi, image-generation, video-generation, media-api
tools
claude, codex, cursor, gemini

MuAPI Media

Overview

Use MuAPI's unified asynchronous API for image and video generation when a workflow needs model choice without a separate integration for every provider. The catalog and each model's input schema are authoritative; this skill does not guess fields, bundle an SDK, or hide a billable generation request. For a capability overview, see the MuAPI AI video API.

When to Use This Skill

  • Use when the user explicitly asks to generate an image or video with MuAPI.
  • Use when an existing media workflow needs a hosted asynchronous API and can send an authorized HTTPS request.
  • Use when the user needs to compare or switch among current media models without changing the surrounding submit-and-poll workflow.
  • Do not use this skill for text chat or for a provider whose current schema has not been fetched and checked.

Preconditions

  1. Confirm that the user is authorized to send the prompt and any reference media to a third-party service.
  2. Explain that generation may be billable and obtain approval immediately before the generation request.
  3. Require MUAPI_API_KEY in the environment. Never ask the user to paste it into chat, source files, command history, or logs.
  4. Confirm the requested media type, output location, and whether the user wants a single generation or an explicitly approved batch.

API Contract

OperationMethod and endpoint
List current modelsGET https://api.muapi.ai/api/v1/models
Read one model's schemaGET https://api.muapi.ai/api/v1/models/{model}
Submit a generationPOST https://api.muapi.ai/{catalog endpoint}
Poll a predictionGET https://api.muapi.ai/api/v1/predictions/{request_id}/result

Generation and prediction requests use:

text
x-api-key: $MUAPI_API_KEY
Content-Type: application/json

The catalog returns a model name, category, endpoint, and other metadata. The endpoint value already includes /api/v1/; append it to https://api.muapi.ai without adding a second version prefix. Model input and output fields vary, so read the selected model's schema immediately before preparing a request.

How It Works

1. Discover and validate a model

Use a temporary directory for response files and keep credentials out of every file. The catalog lookup is read-only:

bash
workdir=$(mktemp -d "${TMPDIR:-/tmp}/muapi-media.XXXXXX")

curl --fail --silent --show-error \
  --header "Accept: application/json" \
  "https://api.muapi.ai/api/v1/models" \
  --output "$workdir/models.json"

jq -r '
  .models[]
  | select(((.category // "") | ascii_downcase | test("image|video|audio|3d")))
  | [.name, .category, .endpoint]
  | @tsv
' "$workdir/models.json"

Select a model from the current catalog, then fetch its detailed schema. Do not copy a payload from a different model just because the names look similar:

bash
export MUAPI_MODEL="<model name from the catalog>"

curl --fail --silent --show-error \
  --header "Accept: application/json" \
  "https://api.muapi.ai/api/v1/models/${MUAPI_MODEL}" \
  --output "$workdir/model.json"

jq '.input_schema.schemas.input_data' "$workdir/model.json"

Check required fields, types, enum values, size limits, and the output schema. If the model requires an image or video input, use the exact documented field and an authorized HTTPS input URL; do not invent an upload contract.

2. Prepare one reviewed request

Set the key only in the environment and stop before submission if it is absent:

bash
test -n "${MUAPI_API_KEY:-}" || {
  echo "Set MUAPI_API_KEY before generation." >&2
  exit 1
}

export MUAPI_PROMPT="A small paper boat crossing a calm pond at sunrise, steady camera"

# Add only fields confirmed by model.json. This example uses a prompt field;
# many models also require duration, resolution, aspect ratio, or an input URL.
jq -n \
  --arg prompt "$MUAPI_PROMPT" \
  '{prompt: $prompt}' \
  > "$workdir/request.json"

Review the model, requested parameters, destination, and estimated cost with the user. Do not put MUAPI_API_KEY in request.json.

3. Submit exactly once

Resolve the catalog endpoint and make one POST. Do not automatically retry a generation POST after a timeout: the original task may have been accepted.

bash
model_endpoint=$(jq -er --arg name "$MUAPI_MODEL" '
  .models[]
  | select(.name == $name)
  | .endpoint
  | select(type == "string" and startswith("/api/v1/"))
' "$workdir/models.json")

curl --fail --silent --show-error \
  --request POST \
  "https://api.muapi.ai${model_endpoint}" \
  --header @- \
  --header "Content-Type: application/json" \
  --data "@$workdir/request.json" \
  --output "$workdir/submit.json" <<EOF
x-api-key: ${MUAPI_API_KEY}
EOF

request_id=$(jq -er '
  .request_id // .id // .data.request_id // .data.id // .output.id
  | select(type == "string" and length > 0)
' "$workdir/submit.json")

Keep the request ID for diagnosis. Never print request headers or the key.

4. Poll with a finite deadline

Poll the original request ID, accept only documented terminal states, and stop after a bounded number of attempts. The response shape can vary, so use the selected model's output schema when extracting the result URL:

bash
result_url="https://api.muapi.ai/api/v1/predictions/${request_id}/result"

for attempt in $(seq 1 120); do
  curl --fail --silent --show-error \
    "$result_url" \
    --header @- \
    --output "$workdir/result.json" <<EOF
x-api-key: ${MUAPI_API_KEY}
EOF

  status=$(jq -r '.status // .data.status // .output.status // "unknown"' \
    "$workdir/result.json")
  case "$status" in
    completed|succeeded|success) break ;;
    failed|error|canceled|cancelled|timeout)
      jq -r '.error // .data.error // .output.error // "MuAPI generation failed"' \
        "$workdir/result.json" >&2
      exit 1
      ;;
  esac
  sleep 2
done

test "$status" = completed \
  || test "$status" = succeeded \
  || test "$status" = success

Do not create a second paid task merely because polling was interrupted. First poll the known request ID again and inspect its sanitized status.

5. Download without the API key

Extract an HTTPS output URL using the model's output schema. Download it with a fresh request that has no MuAPI header, validate the file, and only then return or publish it:

bash
output_url=$(jq -er '
  .output.outputs[0]
  // .data.output.outputs[0]
  // .outputs[0]
  // .data.outputs[0]
  // .output.video
  // .data.output.video
  | select(type == "string" and startswith("https://"))
' "$workdir/result.json")

curl --fail --silent --show-error \
  "$output_url" \
  --output "$workdir/output.bin"

test -s "$workdir/output.bin"
file "$workdir/output.bin"

Do not add x-api-key to this request. Reject non-HTTPS output URLs, avoid following unvalidated redirects, and use a downloader that checks each redirect destination and DNS result when the service returns a redirecting or user-controlled URL. Never execute a downloaded file as code.

Examples

Read-only model discovery
bash
curl --fail --silent --show-error \
  "https://api.muapi.ai/api/v1/models" \
  | jq -r '.models[] | [.name, .category, .endpoint] | @tsv'
One text-to-video request
text
1. Discover a current Text to Video model.
2. Fetch its detailed input_schema and confirm that prompt and the requested
   duration/resolution fields are accepted.
3. Obtain approval, submit one POST with MUAPI_API_KEY, and save request_id.
4. Poll the result endpoint at most 120 times.
5. Download the HTTPS output without the API key and validate the video file.
Show full SKILL.md (410 more words)Show less

Best Practices

  • Treat the live model catalog and detailed schema as authoritative.
  • Keep each generation request explicit and obtain approval before billable work.
  • Submit one POST per task; retry only bounded, idempotent GET polling.
  • Use a finite polling deadline and preserve the request ID on failure.
  • Keep API keys in the environment or an approved secret manager.
  • Use temporary files with restrictive local permissions and remove sensitive response data after the workflow finishes.
  • Validate HTTPS output URLs, size, content type, and basic image/video decode before handing media to another tool.
  • Respect prompt rights, model restrictions, and the user's consent for any uploaded reference media.

Limitations

  • This is an instruction-only skill; it does not install an SDK or background worker.
  • Models, schemas, prices, output retention, and supported fields can change; the live catalog is authoritative.
  • Generation is asynchronous and may take minutes or fail after submission.
  • Output URLs can expire and may not be reusable as permanent asset links.
  • A successful HTTP response does not guarantee a valid or usable media file.
  • This skill does not replace human review of media quality, rights, safety, or provider policy compliance.

Security & Safety Notes

  • Treat prompts and reference media as data sent to a third party; obtain consent and avoid unnecessary personal or confidential information.
  • Never log, echo, commit, or include MUAPI_API_KEY in JSON payloads or process arguments; pass authenticated curl headers through protected stdin or a protected config file.
  • Do not forward the API key to output hosts, redirects, browser URLs, or user-controlled domains.
  • Do not use this workflow for bulk generation, file hosting, or unrelated network transfers without explicit authorization.
  • Keep generated media in a controlled output directory and inspect it before opening or sharing it.

Common Pitfalls

  • Problem: The API returns a validation error. Solution: Fetch the selected model's current schema and rebuild the payload from its required fields and allowed values.
  • Problem: A timeout occurs immediately after POST. Solution: Preserve the request ID if available and poll it before considering any resubmission.
  • Problem: The output is HTML, JSON, or an empty file. Solution: Check the HTTPS URL, response status, content type, file size, and basic media decode before treating it as generated output.
  • Problem: A download request would send the API key to a CDN. Solution: Create a fresh header-free download request and validate every redirect destination.

Additional Resources

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

Files

Just SKILL.md in skills/muapi-media of sickn33/agentic-awesome-skills.

Open the folder on GitHubat commit ec02547

Used in 1 other repository

We found 5 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in sickn33/agentic-awesome-skills, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Muapi 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.

Muapi Media compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Muapi Media this skillsickn33/agentic-awesome-skills47k1 repos~2.8kAutomated safety check: PassMIT
Muapi Mediadavepoon/buildwithclaude3.6k—~975Automated safety check: PassMIT
Image Generation Gatewayscalesthio/generative-media-skills191—~20kAutomated safety check: PassMIT
Routerbase Media Generationaiskillstore/marketplace430—~972Automated safety check: PassNone
Academic Figures DrawerM1n-n9/academic-figures-drawer217—~3.3kAutomated safety check: PassNone
Sf Diagram NanobananaproJaganpro/sf-skills424—~1.6kAutomated safety check: PassMIT

Similar skills

  • Muapi Media

    davepoon/buildwithclaude

    Discover current MuAPI image models and run one explicitly confirmed asynchronous image generation request with bounded polling.

    3.6k GitHub stars~975 tokensUpdated 2 days ago
    Media & CreativeAuto-check passed
  • Image Generation Gateways

    calesthio/generative-media-skills

    Select, integrate, and operate multi-model image-generation gateways with model-specific schema discovery, version policy, asynchronous jobs, webhooks, spend approval, safe inputs and artifacts…

    191 GitHub stars~20k tokensUpdated 2 mo ago
    Media & CreativeAuto-check passed
  • Routerbase Media Generation

    aiskillstore/marketplace

    Build image, video, and audio generation workflows on RouterBase.

    430 GitHub stars~972 tokensUpdated yesterday
    Media & CreativeAuto-check passed
  • Academic Figures Drawer

    M1n-n9/academic-figures-drawer

    Create camera-ready, editable draw.io figures from papers, method descriptions, code, or reference images.

    217 GitHub stars~3.3k tokensUpdated 1 mo ago
    Media & CreativeAuto-check passed
  • Sf Diagram Nanobananapro

    Jaganpro/sf-skills

    AI-powered image generation for Salesforce visuals via Nano Banana Pro.

    424 GitHub stars~1.6k tokensUpdated 5 mo ago
    Media & CreativeAuto-check passed
  • Gpt Image 2 Handdrawn Diagram

    dracohu2025-cloud/draco-skills-collection

    A skill your agent uses when generating high-readability hand-drawn knowledge diagrams, architecture diagrams, workflow maps, or consulting-style visual explanations with GPT-Image-2 via…

    227 GitHub stars~1.2k tokensUpdated 21 days ago
    Media & CreativeAuto-check passed

More from sickn33/agentic-awesome-skills

All 1,354 skills in this repo
  • Liuguang Banlan UI

    sickn33/agentic-awesome-skills

    Implements an interface in one of two named color modes, iridescent white or colorful black, from a parameterized starter that reports measured color intensity.

    47k GitHub starsUsed in 1 repo~2.5k tokens
    Auto-check passed
  • User Thoughts Memory

    sickn33/agentic-awesome-skills

    Saves a user's project decisions, rules and preferences into a project-local mdbase so later sessions and other agents can recover the intent.

    47k GitHub starsUsed in 1 repo~2.5k tokens
    Auto-check passed
  • Using LWC Memory and Graphs

    sickn33/agentic-awesome-skills

    Keeps project decisions, research and verified results available across coding-agent sessions through LWC memory, a document Wiki graph and a CodeGraph code index.

    47k GitHub starsUsed in 1 repo~2k tokens
    Auto-check passed
  • Find Complementary Founders

    sickn33/agentic-awesome-skills

    Guides an agent through assessing its own owner for cofounder fit, publishing an approved profile, and ranking complementary profiles other agents published for their owners.

    47k GitHub starsUsed in 1 repo~4.8k tokens
    Auto-check passed
  • Cline Pilot

    sickn33/agentic-awesome-skills

    Acts as a proxy for the Cline CLI, dispatching coding tasks one at a time, monitoring runs by hard evidence, relaying decisions to you and learning per-project preferences.

    47k GitHub starsUsed in 1 repo~4.6k tokens
    Auto-check passed
  • Content Creator

    sickn33/agentic-awesome-skills

    Drafts and reviews audience-specific content from supplied brand examples, with local scripts for brand voice and SEO diagnostics, channel templates and a content calendar.

    47k GitHub starsUsed in 1 repo~2.5k tokens
    Auto-check passed

Questions about Muapi Media

What does Muapi Media do?

Generate images and videos with MuAPI's schema-driven asynchronous media API while protecting keys, polling, and output downloads. Muapi Media is an agent skill from sickn33/agentic-awesome-skills. Generate images and videos with MuAPI's schema-driven asynchronous media API while protecting keys, polling, and output downloads.

When should I use Muapi Media?

Muapi Media fits situations like: tasks that involve Async programming; tasks that involve Image generation.

How do I install Muapi Media in Claude Code?

Run `npx skills add sickn33/agentic-awesome-skills --skill muapi-media -a claude-code`. Or copy the skill folder (skills/muapi-media in sickn33/agentic-awesome-skills) into .claude/skills/muapi-media in your project. Claude Code loads it when a task matches its description.

How do I install Muapi Media in Codex?

Run `npx skills add sickn33/agentic-awesome-skills --skill muapi-media -a codex`. Or copy the skill folder (skills/muapi-media in sickn33/agentic-awesome-skills) into .agents/skills/muapi-media in your project. Codex loads it when a task matches its description.

Can I use Muapi 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 sickn33/agentic-awesome-skills --skill muapi-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/muapi-media, .gemini/skills/muapi-media, .github/skills/muapi-media and .opencode/skills/muapi-media in your project.

What does Muapi Media need to run?

Going by SKILL.md and its folder, Muapi Media needs the command-line tools its instructions call (jq and curl) and credentials named MUAPI_API_KEY. Our summary lists: A credential in MUAPI_API_KEY.

Does Muapi Media access the network?

SKILL.md names 2 domains. In commands or code: api.muapi.ai; the agent is likely to contact it when it follows the instructions. As links in the text: muapi.ai. This is read from the text; nothing was executed.

Is Muapi 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 Muapi Media use?

Muapi Media is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Muapi Media use?

About 2.8k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Muapi Media?

Skills that share tags, products or a category with Muapi Media: Muapi Media (davepoon/buildwithclaude, 3.6k stars), Image Generation Gateways (calesthio/generative-media-skills, 191 stars), Routerbase Media Generation (aiskillstore/marketplace, 430 stars) and Academic Figures Drawer (M1n-n9/academic-figures-drawer, 217 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Muapi Media?

sickn33 (a GitHub user) maintains it in sickn33/agentic-awesome-skills, which has 47,343 GitHub stars. The repository holds 1,354 skills in this directory. The repository was last updated on October 7, 2026.

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