muapi-cli 하나로, 이 CLI가 Midjourney v7·Veo3·Kling 3.0·Seedance 2.0 등 100종 이상의 상용 AI 모델을 단일 명령으로 호출합니다. npx skills add 한 줄이면 60여 개 레시피가 에이전트에 설치되고, muapi mcp serve로 MCP 서버로도 띄울 수 있습니다. (SamurAIGPT/Generative-Media-Skills · Bash + JSON 스키마 · MIT · 2026 · 57개 라이브러리 스킬)"AI 에이전트에게 '광고 영상 만들어 줘'라고 하면, 알아서 전문 감독처럼 이미지를 만들고 영상으로 움직이고 음악까지 입혀 주도록 가르치는 설명서 묶음"입니다. 여기서 핵심 단어는 스킬(Skill) — 코드가 아니라, 에이전트가 읽고 단계대로 실행하는 마크다운 지시서(SKILL.md)입니다.
보통 "AI로 이미지 만들기"라고 하면 모델 API를 직접 호출하는 파이썬 코드를 떠올립니다. 이 프로젝트는 그 반대 방향입니다. 생성 모델을 직접 부르는 부분은 전부 muapi-cli라는 명령줄 도구 하나에 위임하고, 저장소 자체는 "어떤 순서로, 어떤 전문 지식을 넣어서 그 CLI를 부를 것인가"를 담은 레시피집에 집중합니다. 라이선스는 MIT, 2026년에 등장해 TrendShift 일간 5위에 올랐습니다.
muapi-cli는 손질된 재료가 다 들어 있는 밀키트입니다 — 모델 호출, 인증, 결과 폴링, 파일 업로드가 다 포장돼 있어요. 반면 이 저장소의 SKILL.md들은 그 밀키트로 "미슐랭 코스"를 뽑아내는 셰프의 레시피 카드입니다.
예를 들어 "제품 사진 → 영화 같은 10초 광고"라는 레시피 카드 한 장에는, 이미지를 어떤 조명·앵글로 만들고, 어떤 카메라 무빙으로 영상화하고, 어떤 비율로 자를지가 단계별로 적혀 있습니다. 요리사(=AI 에이전트)는 이 카드를 읽고 밀키트(=CLI)를 순서대로 꺼내 쓰기만 하면 됩니다.
2025~2026년은 "에이전트 스킬(Agent Skills)"이라는 개념이 폭발한 시기입니다. Anthropic이 Claude용 Skills를 공식화하면서, "에이전트에게 마크다운 설명서를 던져 주면 능력이 확장된다"는 패턴이 표준이 됐죠. TrendShift 일간 순위만 봐도 google/skills, NomaDamas/k-skill, NVIDIA/SkillSpector 등 "스킬" 키워드 레포가 도배돼 있습니다. 이 프로젝트는 그 흐름의 멀티모달(이미지·영상·음악) 버전이라 주목받습니다.
| 접근 방식 | 한계 | 이 프로젝트의 답 |
|---|---|---|
| 모델별 SDK 직접 코딩 | 모델마다 API·파라미터가 달라 코드가 산더미 | muapi-cli 단일 인터페이스로 100+ 모델 통일 |
| 단순 MCP 래퍼 | "이미지 생성" 같은 저수준 도구만 노출 → 결과 품질은 사용자 몫 | 전문 지식(촬영·브랜딩)을 스킬에 내장 |
| 웹 UI 서비스 | 사람이 클릭해야 함, 자동화·파이프라인 불가 | JSON 출력·시맨틱 종료코드로 에이전트·CI 친화 |
그냥 "이미지 만들어"가 아니라, Cinema Director 스킬은 "감정 → 프레이밍 → 카메라 무빙 → 조명"의 영화 문법을 표로 내장합니다. 에이전트가 사용자의 "멋진 액션 장면"이라는 막연한 요청을 로우앵글 + 크레인 업 + 림 라이팅 같은 기술 지시로 자동 번역해 주죠. 이게 단순 API 래퍼와의 결정적 차이입니다.
또 하나는 "고신호(high-signal) 디스커버리" 설계입니다. LLM은 컨텍스트가 길수록 헤매는데, 이 저장소는 Core(저수준 원시 기능)와 Library(고수준 전문 스킬)를 분리해, 에이전트가 필요한 스킬만 골라 읽도록 구조를 짰습니다. 토큰 효율과 결과 품질을 동시에 노린 설계입니다.
이 프로젝트는 흔한 "프론트엔드/백엔드" 구조가 아닙니다. 코드가 거의 없는(스킬 마크다운 + 얇은 bash 래퍼) 대신, 무거운 일은 전부 외부 CLI와 클라우드 API에 위임합니다. 그래서 "스택"을 에이전트 / 스킬 / 실행 / 모델 4층으로 보는 게 정확합니다.
스킬을 읽고 실행하는 주체입니다. 저장소는 특정 에이전트에 묶이지 않고 Claude Code, Cursor, Gemini CLI, Windsurf 등 SKILL.md를 이해하는 모든 에이전트와 호환됩니다. npx skills add ... -a claude-code -a cursor처럼 대상 에이전트를 지정해 설치합니다.
skills CLI(별도 도구)가 GitHub 저장소의 SKILL.md들을 읽어, 각 에이전트가 인식하는 위치(예: Claude Code의 스킬 폴더)로 복사·등록해 줍니다. "앱스토어에서 앱 설치"의 스킬 버전.전부 마크다운(SKILL.md)입니다. YAML 프런트매터(name, version, description)로 메타데이터를 선언하고, 본문에 "지시 프로토콜"을 적습니다. 57개 라이브러리 스킬 + 3개 코어 스킬(core/edit, core/media, core/platform)로 구성됩니다. 일부 스킬은 보조 scripts/*.sh를 동봉합니다.
모든 실제 호출의 단일 관문. npm(muapi-cli) 또는 pip로 설치하는 외부 CLI입니다. 인증(muapi auth configure), 생성(muapi image/video/audio), 비동기 폴링(muapi predict wait), 파일 업로드(muapi upload), 그리고 MCP 서버 모드(muapi mcp serve)까지 제공합니다.
--output-json), 그중 원하는 필드만 추출(--jq '.outputs[0]')합니다. 에이전트가 결과를 파싱해 다음 단계로 넘기기 쉽게 만든 "에이전트 친화" 설계의 핵심.실제 생성을 수행하는 원격 GPU. schema_data.json이 모델 ID·엔드포인트·지원 파라미터를 담은 카탈로그 역할을 합니다. 이미지 46종, 이미지 편집 55종, 텍스트→영상 46종, 이미지→영상 62종, 총 267개 모델(schema_data.json 기준), 음악(Suno), 효과음(MMAudio) 등.
| 구분 | 구성요소 | 역할 |
|---|---|---|
| 형식 | SKILL.md (Markdown + YAML) | 에이전트가 읽는 실행 지시서 |
| 래퍼 | Bash (.sh) + jq | 코어 원시 기능, 스키마 파싱 |
| 엔진 | muapi-cli (npm/pip) | 모델 호출·인증·폴링·업로드 단일화 |
| 카탈로그 | schema_data.json | 모델·엔드포인트·파라미터 검증 |
| 통합 | MCP (Model Context Protocol) | 19개 구조화 도구를 에이전트에 직접 노출 |
| 모델 | muapi.ai (100+ 상용 모델) | Midjourney·Veo3·Kling·Seedance 등 |
가장 중요한 설계 결정입니다. Core는 "이미지 1장 생성", "파일 업로드" 같은 원시 동작을 담은 얇은 래퍼. Library는 "럭셔리 주얼리 광고 영상", "Amazon 상품 리스팅 세트"처럼 창작 의도를 기술 지시로 번역하는 고부가가치 스킬입니다.
LLM에게 100개 스킬을 한꺼번에 다 읽히면 컨텍스트가 폭발하고 정확도가 떨어집니다. Core/Library로 나누면 에이전트가 "지금 필요한 레시피 1장 + 그 레시피가 부르는 코어 몇 개"만 읽으면 됩니다. 도서관에서 책 한 권 빌리듯, 필요한 지식만 꺼내 쓰는 구조죠.
bash 래퍼는 모델 정보를 코드에 하드코딩하지 않습니다. 대신 schema_data.json을 런타임에 jq로 조회해 ⓐ 모델 ID가 실재하는지 검증, ⓑ 모델명→API 엔드포인트 매핑, ⓒ 지원하는 aspect_ratio·resolution·duration 확인을 수행합니다. 새 모델이 추가돼도 스키마만 바꾸면 되니 코드 수정 없이 모델을 늘릴 수 있습니다.
# core/media/generate-image.sh 의 동적 스키마 파싱부
MODEL_DATA=$(jq -r ".[] | select(.name == \"$MODEL\")" "$SCHEMA_FILE")
# → 모델이 없으면 즉시 에러, 있으면 엔드포인트·파라미터를 끌어와 호출
영상 생성은 수십 초~수 분이 걸립니다. 그래서 --no-wait로 request_id만 즉시 받고, 다른 작업을 하다가 muapi predict wait $ID로 나중에 결과를 회수하는 비동기 패턴을 권장합니다. 에이전트가 "제출 → 딴 일 → 회수 → 다음 단계 입력"으로 여러 생성을 병렬 오케스트레이션할 수 있습니다.
| 경로 | 역할 | 주목 포인트 |
|---|---|---|
| schema_data.json | 모든 모델의 ID·카테고리·입력 스키마 | 이 한 파일이 "어떤 모델을 어떻게 부를지"의 진실원 |
| core/media/ | 이미지·영상 생성, 파일 업로드 | generate-image.sh에 인자 파싱·스키마 검증 패턴 예시 |
| core/platform/ | 인증·셋업·결과 폴링 | 비동기 작업 회수 로직 |
| library/motion/cinema-director/ | 영화 문법 내장 영상 감독 스킬 | "의도→기술 지시" 매핑 표의 교과서 |
| library/visual/nano-banana/ | 추론 기반 이미지 생성(Gemini 3 스타일) | 보조 scripts/ 동봉 |
| library/workflow/ | 레시피 검색·실행 오케스트레이션 | 여러 스킬을 묶어 파이프라인화 |
처음 보면 폴더가 많아 막막하지만, 규칙은 단순합니다. core = "재료·도구", library = "완성 레시피". 그리고 library 안은 출력물 종류(motion=영상, visual=이미지, social=소셜용)로 갈립니다. 새 스킬을 만들고 싶으면 알맞은 폴더에 SKILL.md 한 장만 추가하면 됩니다.
가장 값진 학습 포인트. 프로그래밍 없이 마크다운만으로 에이전트 능력을 확장하는 법을 실물로 보여 줍니다. YAML 프런트매터 + 단계형 본문(Steps) + "Notes for the Executing Agent" 푸터라는 SKILL.md 작성 관습을 그대로 흡수할 수 있습니다.
cinema-director의 SKILL.md를 열어, "의도 매핑 표"를 내 분야(예: 요리 사진, 부동산 매물)로 바꿔 써 보세요. 같은 구조에 도메인 지식만 갈아 끼우면 새 전문 스킬이 됩니다.
generate-image.sh는 실전형 CLI 스크립트의 표본입니다: while/case 인자 파싱, set -e 안전장치, .env 로딩, jq로 JSON 카탈로그 조회, 시맨틱 종료코드. 하드코딩 대신 외부 스키마를 참조하는 법을 배울 수 있습니다.
아무 공개 REST API(예: 환율, 날씨)로 같은 패턴의 래퍼를 만들어 보세요. --output-json --jq 옵션을 흉내 내 "에이전트가 파싱하기 쉬운 출력"을 설계해 보면 감이 옵니다.
muapi mcp serve 한 줄이 19개 도구를 JSON 스키마와 함께 에이전트에 노출합니다. 스킬(설명서)과 MCP(실행 도구)의 차이, 그리고 둘을 같이 쓰는 법을 비교 학습하기 좋은 교재입니다.
Claude Desktop 설정에 muapi MCP를 등록(README의 JSON 그대로)하고, 채팅에서 "고양이 이미지 생성"을 시켜 보세요. 같은 작업을 ⓐ 스킬로, ⓑ MCP 도구로 각각 실행해 차이를 체감하세요.
"제출 → request_id → 폴링 → 결과를 다음 단계 입력으로" 체이닝은 영상·음악처럼 오래 걸리는 작업을 다루는 핵심 기술입니다. 여러 생성을 병렬로 던지고 회수하는 사고방식을 익힐 수 있습니다.
희소식: 로컬 GPU가 전혀 필요 없습니다. 무거운 생성은 muapi.ai 클라우드에서 돌아가므로, 내 컴퓨터는 그저 "명령을 보내고 결과를 내려받는" 역할만 합니다.
| 항목 | 요구사항 | 비고 |
|---|---|---|
| 런타임 | Node.js (npm) 또는 Python(pip) | muapi-cli 설치용. 둘 중 하나면 됨 |
| 쉘 | bash + jq | 코어 .sh 스크립트 실행 시 |
| 네트워크 | 인터넷 필수 | 모든 생성이 클라우드 API 호출 |
| API 키 | muapi.ai API 키 (유료 크레딧) | 생성마다 크레딧 차감 — 비용 발생 |
| OS | macOS/Linux/WSL 권장 | --view 자동 열기는 macOS 기준 |
| 에이전트 | Claude Code/Cursor/Gemini CLI 등 | 스킬을 실제로 "읽어 실행"할 주체 |
whichllm처럼 내 GPU로 공짜로 도는 게 아닙니다. Midjourney·Veo3·Kling 같은 상용 모델을 muapi가 중개하므로 생성 1건마다 크레딧(돈)이 듭니다. 영상·4K 이미지는 특히 비싸니, 실습은 저해상도·짧은 영상부터 시작하세요. muapi account balance로 잔액을 자주 확인하세요.
npm install -g muapi-cli → muapi auth configure로 키 등록 → muapi image generate "a cyberpunk city at night" --model flux-dev --download ./out. 첫 이미지가 떨어지면 성공. --output-json --jq '.outputs[0]'로 URL만 뽑아 보세요.
npx skills add SamurAIGPT/Generative-Media-Skills --skill muapi-logo-generator -a claude-code로 스킬 하나만 설치. Claude Code에서 "내 카페 로고 만들어 줘"를 시켜, 에이전트가 SKILL.md를 읽고 CLI를 부르는 과정을 관찰하세요.
--no-wait로 영상 생성을 제출해 request_id를 받고, 다른 명령을 몇 개 실행한 뒤 muapi predict wait $ID --download ./out으로 회수. "제출-회수 분리"를 직접 구현해 보세요.
cinema-director를 템플릿 삼아, 내 도메인용 스킬(예: "유튜브 썸네일 자동화")을 한 장 작성. YAML 프런트매터 + 의도 매핑 표 + Steps 구조를 갖춰, library/ 규칙대로 폴더에 넣어 보세요.
"제품 사진 → 이미지 보정 → i2v 영상 → 음악 합성 → 9:16 크롭"을 하나의 워크플로로 묶기. library/workflow/의 run/discover 스크립트를 참고해, 단계 간 출력(URL/request_id)을 다음 단계 입력으로 넘기는 전체 파이프라인을 완성하세요.
| 주차 | 주제 | 핵심 활동 |
|---|---|---|
| 1주차 | Agent Skills 기초 | SKILL.md 규격(YAML+본문) 이해, 공식 Skills 문서 정독, 스킬 3개 설치·실행 |
| 2주차 | Bash/jq 스크립팅 | generate-image.sh 정독, 인자 파싱·스키마 조회·종료코드 패턴 모작 |
| 3주차 | 생성 모델 이해 | T2I/I2V/T2V 차이, Flux·Seedance·Kling·Veo3 특성, aspect/resolution/duration 파라미터 |
| 4주차 | MCP 프로토콜 | muapi MCP 서버 등록, 도구 스키마 구조, 스킬 vs MCP 도구 비교 |
| 5주차 | 프롬프트 엔지니어링 | cinema-director의 "의도→기술 지시" 번역법, 도메인 프롬프트 표 설계 |
| 6주차 | 비동기 오케스트레이션 | request_id 폴링, 다단계 파이프라인, 에러·재시도 처리 |
| 7주차 | 나만의 스킬 팩 | 도메인 특화 스킬 5개 작성·배포, README 카탈로그화 |
muapi image/video/audio)으로 호출하는 외부 CLI. npm/pip로 설치.muapi mcp serve가 19개 생성 도구를 JSON 스키마와 함께 제공한다.schema_data.json에서 런타임에 조회. 새 모델 추가 시 코드 수정 없이 스키마만 갱신.--mode extend.| GitHub 저장소 | 본체. core/·library/·schema_data.json이 핵심 |
| TrendShift 페이지 | 트렌딩 추이(일간 5위, 2026-06-09) |
| muapi-cli 저장소 | 실행 엔진. 모든 모델 호출의 단일 관문 |
| npm: muapi-cli | npm install -g muapi-cli 배포 페이지 |
| muapi.ai 대시보드 | API 키 발급·크레딧 관리 |
| Open-Generative-AI | 같은 모델셋의 GUI 대안(셀프호스팅 스튜디오) |
| Model Context Protocol | MCP 공식 사이트 — 도구 노출 표준 |
| Claude Agent Skills 문서 | SKILL.md 규격·작성법 공식 가이드 |