muapi-social-pack — скилл для Claude Code: что делает и как установить
Рефреймит главное изображение под пропорции Instagram, TikTok, YouTube Shorts и X. Пригодится для быстрой адаптации графики под разные соцсети.
npx skills add SamurAIGPT/Generative-Media-Skills --skill muapi-social-pack -a claude-code
npx skills add SamurAIGPT/Generative-Media-Skills --skill social-pack -a claude-codeЧто делает muapi-social-pack
Скилл берёт ссылку на исходную картинку или идентификатор ассета из текущей сессии и перекадрирует изображение под стандарты социальных сетей. По умолчанию создаются версии с соотношением сторон 1:1 для ленты Instagram, 9:16 для TikTok и Reels, 4:5 для портретов и 16:9 для X и YouTube. Дополнительно можно запросить формат 21:9. При этом инструмент не генерирует новый арт с нуля, а сохраняет свет, палитру и объект по центру.
Каждый формат обрабатывается параллельно через утилиту muapi image edit с моделью nano-banana-2-edit. Если указан параметр caption_idea, модель оставляет свободное пространство в верхней части кадра под текстовую плашку.
Без настроенного ключа MUAPI_API_KEY или команды muapi auth configure запросы не выполнятся. При прямом обращении к API агент отправляет запрос на эндпоинт https://api.muapi.ai/api/v1/<endpoint> и ожидает ответ через muapi predict wait.
Какие задачи решает
- адаптировать обложку под вертикальный формат 9:16
- перекадрировать изображение в пропорции 1:1 и 4:5 для Instagram
- оставить место вверху кадра под текстовый заголовок
- сохранить палитру и свет исходника при смене формата
Примеры запросов агенту
- Сделай social pack из этого изображения для TikTok и X.
- Адаптируй картинку под форматы 1:1 и 9:16 с подписью «Новый релиз».
- Перекадрируй ассет asset_42 для публикации в Instagram и YouTube.
Как установить muapi-social-pack
1Через Skills CLI (Vercel)
npx skills add SamurAIGPT/Generative-Media-Skills --skill muapi-social-pack -a claude-codenpx skills add SamurAIGPT/Generative-Media-Skills --skill social-pack -a claude-code2Вручную: положить файлы
~/.claude/skills/social-pack/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/social-pack/
1Через Skills CLI (Vercel)
npx skills add SamurAIGPT/Generative-Media-Skills --skill social-pack -a codex2Вручную: положить файлы
.agents/skills/social-pack/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add SamurAIGPT/Generative-Media-Skills --skill social-pack -a cursor2Вручную: положить файлы
.cursor/skills/social-pack/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install SamurAIGPT/Generative-Media-Skills social-pack2Вручную: положить файлы
.github/skills/social-pack/SKILL.md1Через Skills CLI (Vercel)
npx skills add SamurAIGPT/Generative-Media-Skills --skill social-pack -a gemini-cli2Командой платформы
gemini skills install https://github.com/SamurAIGPT/Generative-Media-Skills --path library/social/social-packВручную: положить файлы
.devin/skills/social-pack/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add SamurAIGPT/Generative-Media-Skills --skill social-pack -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о muapi-social-pack
Как установить muapi-social-pack в Claude Code?
Выполните команду npx skills add SamurAIGPT/Generative-Media-Skills --skill muapi-social-pack -a claude-code.
Что делает скилл muapi-social-pack?
Он отправляет исходное изображение в модель nano-banana-2-edit через интерфейс muapi и перекадрирует его под форматы 1:1, 9:16, 4:5 и 16:9. Исходный объект остаётся в центре, а освещение и цвета не меняются.
Что требуется для работы скилла?
Необходим интерфейс командной строки muapi и авторизация. Задайте ключ в переменной MUAPI_API_KEY или выполните команду muapi auth configure.
Исходный текст
SKILL.md · MIT
---
slug: muapi-social-pack
name: muapi-social-pack
version: "1.0.0"
description: Re-render a hero image into Instagram, TikTok, YouTube-shorts and Twitter/X aspect ratios.
acceptLicenseTerms: true
---
# Social Media Pack
**Re-render a hero image into Instagram, TikTok, YouTube-shorts and Twitter/X aspect ratios.**
## Inputs
| Name | Type | Required | Default | Description |
|:---|:---|:---|:---|:---|
| `source_image` | image_url | yes | — | URL of the hero image (or asset_id from this session). |
| `caption_idea` | text | no | — | Optional caption / overlay direction (kept short). |
| `formats` | list | no | 1:1, 9:16, 4:5, 16:9 | Aspect ratios to produce. |
## Steps
Use the plan to fan out one node per format.
1. For each requested aspect ratio in `{{formats}}`:
- Call `muapi image edit` (model=nano-banana-2-edit) with the source image.
- Prompt: "Reframe the composition to {{aspect_ratio}} for social media.
Keep the subject centred and uncropped. Match the original lighting
and palette. {{caption_idea_hint}}".
- Where `{{caption_idea_hint}}` = "Leave headroom at the top for a
caption: '<caption_idea>'." (only if caption_idea is non-empty).
2. All formats run in parallel (no inter-node dependencies).
3. Return one asset id per format, labelled with the platform it suits:
- 1:1 → Instagram feed
- 9:16 → TikTok / IG Reels / YT Shorts
- 4:5 → Instagram portrait
- 16:9 → Twitter / X / YouTube
- 21:9 → cinematic banner
## Notes
- Don't generate fresh images — only reframe / re-edit the source.
- If the source already matches a format, skip that node and surface the
original asset id for it.
## Trigger Keywords
`social pack`, `resize for social`, `cross-post`, `multi-platform`
---
## Notes for the Executing Agent
- This recipe is LLM-orchestrated: read each phase, gather any missing inputs from the user, then call `muapi` CLI commands. Use `muapi auth configure` first if `MUAPI_API_KEY` is unset.
- For model IDs without a CLI alias yet, fall back to the raw endpoint via `curl -X POST https://api.muapi.ai/api/v1/<endpoint> -H "x-api-key: $MUAPI_API_KEY" -H 'content-type: application/json' -d '{...}'` and poll with `muapi predict wait <request_id>`.
- Substitute `{{input_name}}` placeholders with the user's actual inputs before issuing each call.
© SamurAIGPT · MIT · SamurAIGPT/Generative-Media-Skills