
Muapi Workflow
- 908 installs
- 4k repo stars
- Updated August 4, 2026
- samuraigpt/generative-media-skills
muapi-workflow is an agent skill that discovers, creates, edits, and runs AI workflows through natural-language prompts via the muapi CLI for developers who automate generative media pipelines from the terminal.
About
muapi-workflow is a generative-media agent skill that exposes the muapi CLI as thin bash wrapper scripts agents can invoke. One script runs muapi workflow discover with a --query flag and a default --limit of 5 to surface relevant existing workflows. Another script acts as an AI Workflow Architect, accepting --prompt, --workflow-id, --async, --view, and --json-only flags to create or edit workflows from natural language. Developers reach for muapi-workflow when they want coding agents to search muapi's workflow catalog, architect new multi-step AI media pipelines, or rerun and inspect workflows without hand-writing CLI calls. The skill assumes muapi is installed and authenticated on the developer machine.
- Thin CLI wrappers around muapi for workflow discover, create, edit and run operations
- Supports --query discovery with configurable result limits
- Interactive workflow creation and editing from natural language prompts
- Optional async execution, view mode, and JSON output flags
- Seamless handoff between discovery and architect modes
Muapi Workflow by the numbers
- 908 all-time installs (skills.sh)
- +40 installs in the week ending Aug 5, 2026 (Skillselion tracking)
- Ranked #1,218 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
- Security screen: HIGH risk (skills.sh audit)
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/samuraigpt/generative-media-skills --skill muapi-workflowAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 908 |
|---|---|
| repo stars | ★ 4k |
| Security audit | 2 / 3 scanners passed |
| Last updated | August 4, 2026 |
| Repository | samuraigpt/generative-media-skills ↗ |
How do you manage muapi AI workflows from CLI?
Discover, create, edit, and run AI workflows using natural language prompts via the muapi CLI.
Who is it for?
Developers automating generative media pipelines who already use the muapi CLI and want agents to discover and architect workflows by prompt.
Skip if: Developers without muapi installed who need a standalone image or video generation API unrelated to muapi workflows.
When should I use this skill?
The user asks to discover, create, edit, or run muapi AI workflows using natural-language prompts or the muapi CLI.
What you get
Discovered workflow IDs, newly created or edited muapi workflow definitions, and executed workflow run outputs.
- Discovered workflow list
- Created or edited workflow definition
- Workflow execution output
By the numbers
- workflow discover defaults to --limit 5 results
Files
AI Workflow Builder
Chain any combination of muapi.ai generation steps into automated pipelines. The AI architect converts your plain-language description into a runnable node graph.
Prerequisites
Always ensure the muapi CLI is up-to-date before running any commands. Reinstall from source at the start of every session:
pip install --upgrade /path/to/muapi-cliReplace /path/to/muapi-cli with the actual path to the muapi-cli directory in the workspace (the directory containing pyproject.toml).
Core Operations
1. Generate (generate-workflow.sh) — AI architect creates a workflow from a description 2. Discover (discover-workflow.sh) — Find a relevant existing workflow by natural language 3. Edit (generate-workflow.sh --workflow-id) — Modify an existing workflow with a prompt 4. Interactive Run (interactive-run.sh) — Prompt for inputs and execute a workflow 5. Run (run-workflow.sh) — Execute a workflow, poll node-by-node, collect outputs 6. CLI (muapi workflow) — Full CRUD + visualization directly from the terminal
---
Agent Guided Discovery & Selection
As an AI agent, you have the ability to read and understand the purpose of available workflows to select the best one for the user's task (e.g., "create a UGC video").
1. Discover: Fetch the catalog of available workflows and their descriptions in JSON format.
muapi workflow discover --output-json2. Match (Internal Reasoning): Use your LLM capabilities to analyze the name, category, and description fields of the returned workflows. Find the best match for the user's intent. 3. Analyze: If you find a promising candidate, inspect its structure to ensure it has the necessary nodes and parameters.
muapi workflow get <workflow_id>CRITICAL RULE: The output of muapi workflow get will include an "API Inputs" table. You MUST read this table to understand what inputs are required. 4. Choose & Confirm & Prompt User:
- If one workflow is a perfect match, you MUST ask the user to provide the exact values for the required API inputs before executing it. Never invent or guess input values (like prompts, URLs, etc.) on your own.
- If multiple workflows are highly relevant, present the options to the user with their descriptions and ask them to confirm which one to use, and also ask for the required inputs.
- If no workflow matches the user's complex request, offer to architect a new one using
muapi workflow create.
Example Agent Reasoning
"The user wants a product promo video. I fetched the catalog using discover. I see two potential workflows:1. wf_123: 'Product promo with background music'2. wf_456: 'Simple video gen'I will analyzewf_123withget. It has the required nodes. I will suggestwf_123or just run it if the match is precise."
---
Protocol: Building a Workflow
Step 1 — Describe your pipeline
muapi workflow create "take a text prompt, generate an image with flux-dev, then upscale it to 4K"The architect returns a workflow with a unique ID and a node graph. Save the ID.
Step 2 — Inspect and visualize
# Rich ASCII node graph in the terminal
muapi workflow get <workflow_id>
# Or raw JSON
muapi workflow get <workflow_id> --output-jsonStep 3 — Run it
# Run with specific inputs
muapi workflow execute <workflow_id> \
--input "node1.prompt=a glowing crystal cave at midnight"
# Use --download to pull results locally
muapi workflow execute <workflow_id> \
--input "node1.prompt=a sunset" \
--download ./outputsStep 4 — Discovery (Optional)
If you want to reuse an existing workflow instead of creating a new one:
# Search by keywords
muapi workflow discover "ugc video"Step 5 — Interactive Execution
Run a workflow and have the CLI prompt you for each required input:
muapi workflow run-interactive <workflow_id>---
Workflow Examples
Image Pipelines
# Text → Image → Upscale
muapi workflow create "take a text prompt, generate with flux-dev, upscale the result"
# Text → Image → Background removal → Product shot
muapi workflow create "generate a product image with hidream, remove background, create professional product shot"Video Pipelines
# Text → Video
muapi workflow create "generate a 10-second cinematic video from a text prompt using kling-master"
# Image → Video → Lipsync
muapi workflow create "animate an input image with seedance, then apply lipsync from an audio file"---
Editing an Existing Workflow
# Add a step
muapi workflow edit <id> --prompt "add a face-swap step after the image generation"
# Swap a model
muapi workflow edit <id> --prompt "change the video model from kling to veo3"---
CLI Reference
# List all your workflows
muapi workflow list
# Browse templates
muapi workflow templates
# Generate new workflow
muapi workflow create "text → flux image → upscale → face swap"
# Visualize a workflow
muapi workflow get <id>
# Execute with inputs
muapi workflow execute <id> --input "node1.prompt=a sunset"
# Monitor a run
muapi workflow status <run_id>
# Get outputs
muapi workflow outputs <run_id> --download ./results
# Edit with AI
muapi workflow edit <id> --prompt "add lipsync at the end"
# Rename / delete
muapi workflow rename <id> --name "Product Pipeline v2"
muapi workflow delete <id>---
MCP Tools (for AI agents)
| Tool | Description |
|---|---|
muapi_workflow_list | List user's workflows |
muapi_workflow_create | AI architect: prompt → workflow |
muapi_workflow_get | Get workflow definition + node graph |
muapi_workflow_execute | Run with specific inputs |
muapi_workflow_status | Node-by-node run status |
muapi_workflow_outputs | Final output URLs |
---
Constraints
- Workflows can contain any combination of muapi.ai nodes (image, video, audio, enhance, edit)
- Node outputs are automatically wired as inputs to downstream nodes
--syncmode waits up to 120s for generation; use--asyncfor complex workflows and poll separately- Run timeouts: 10 minutes maximum per workflow execution
#!/bin/bash
# Assistant Skill: Discover Relevant Workflow
# Thin wrapper around muapi CLI.
QUERY=""
LIMIT=5
while [[ $# -gt 0 ]]; do
case $1 in
--query|-q) QUERY="$2"; shift 2 ;;
--limit) LIMIT="$2"; shift 2 ;;
*) shift ;;
esac
done
if [ -z "$QUERY" ]; then echo "Error: --query is required" >&2; exit 1; fi
muapi workflow discover "$QUERY" --limit "$LIMIT"
#!/bin/bash
# Expert Skill: AI Workflow Architect
# Thin wrapper around muapi CLI.
PROMPT=""
WORKFLOW_ID="" # Set to edit an existing workflow
ASYNC=false
VIEW=false
JSON_ONLY=false
while [[ $# -gt 0 ]]; do
case $1 in
--prompt|-p) PROMPT="$2"; shift 2 ;;
--workflow-id|-w) WORKFLOW_ID="$2"; shift 2 ;;
--async) ASYNC=true; shift ;;
--view) VIEW=true; shift ;;
--json) JSON_ONLY=true; shift ;;
*) shift ;;
esac
done
if [ -z "$PROMPT" ]; then echo "Error: --prompt is required" >&2; exit 1; fi
ARGS=()
[ "$ASYNC" = true ] && ARGS+=("--async")
[ "$VIEW" = true ] && ARGS+=("--view")
[ "$JSON_ONLY" = true ] && ARGS+=("--output-json")
if [ -n "$WORKFLOW_ID" ]; then
muapi workflow edit "$WORKFLOW_ID" --prompt "$PROMPT" "${ARGS[@]}"
else
muapi workflow create "$PROMPT" "${ARGS[@]}"
fi
#!/bin/bash
# Assistant Skill: Interactive Workflow Runner
# Thin wrapper around muapi CLI.
WORKFLOW_ID=""
while [[ $# -gt 0 ]]; do
case $1 in
--workflow-id|-w) WORKFLOW_ID="$2"; shift 2 ;;
*) shift ;;
esac
done
if [ -z "$WORKFLOW_ID" ]; then echo "Error: --workflow-id is required" >&2; exit 1; fi
muapi workflow run-interactive "$WORKFLOW_ID"
#!/bin/bash
# Assistant Skill: List Workflows
# Thin wrapper around muapi CLI.
JSON_ONLY=false
LIMIT=20
while [[ $# -gt 0 ]]; do
case $1 in
--json) JSON_ONLY=true; shift ;;
--limit) LIMIT="$2"; shift 2 ;;
*) shift ;;
esac
done
if [ "$JSON_ONLY" = true ]; then
muapi workflow list --output-json
else
muapi workflow list | head -n $((LIMIT + 5))
fi
#!/bin/bash
# Expert Skill: Run & Visualize an AI Workflow
# Thin wrapper around muapi CLI.
WORKFLOW_ID=""
INPUT_ARGS=()
WEBHOOK=""
ASYNC=false
DOWNLOAD_DIR=""
while [[ $# -gt 0 ]]; do
case $1 in
--workflow-id|-w) WORKFLOW_ID="$2"; shift 2 ;;
--input|-i) INPUT_ARGS+=("$2"); shift 2 ;;
--webhook) WEBHOOK="$2"; shift 2 ;;
--async) ASYNC=true; shift ;;
--download|-d) DOWNLOAD_DIR="$2"; shift 2 ;;
*) shift ;;
esac
done
if [ -z "$WORKFLOW_ID" ]; then echo "Error: --workflow-id is required" >&2; exit 1; fi
ARGS=()
for ITEM in "${INPUT_ARGS[@]}"; do ARGS+=("--input" "$ITEM"); done
[ -n "$WEBHOOK" ] && ARGS+=("--webhook" "$WEBHOOK")
[ "$ASYNC" = true ] && ARGS+=("--no-wait")
[ -n "$DOWNLOAD_DIR" ] && ARGS+=("--download" "$DOWNLOAD_DIR")
if [ ${#INPUT_ARGS[@]} -gt 0 ]; then
muapi workflow execute "$WORKFLOW_ID" "${ARGS[@]}"
else
muapi workflow run "$WORKFLOW_ID" "${ARGS[@]}"
fi
Related skills
How it compares
Use muapi-workflow when the target platform is muapi CLI workflows rather than generic image-generation API wrappers.
FAQ
How does muapi-workflow discover existing workflows?
muapi-workflow runs muapi workflow discover with a required --query flag and an optional --limit flag defaulting to 5. The command returns relevant workflow matches from the muapi catalog for the given natural-language query.
Can muapi-workflow edit an existing workflow?
muapi-workflow includes an AI Workflow Architect script that accepts --prompt and --workflow-id to edit an existing muapi workflow. Flags like --async, --view, and --json-only control execution mode and output format.
Is Muapi Workflow safe to install?
skills.sh reports 2 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.