
Muapi Photo Pack Generator
Generate a batch of on-brand social or profile images from one reference photo and a category preset (e.g. LinkedIn) for solo founders shipping content without a designer.
Overview
muapi-photo-pack-generator is an agent skill for the Launch phase that batches AI-edited images from one reference photo and a category preset.
Install
npx skills add https://github.com/samuraigpt/generative-media-skills --skill muapi-photo-pack-generatorWhat is this skill?
- CLI photo pack workflow: reference via --image-url or local --image with upload.sh
- Category-driven prompt packs (default LinkedIn) plus configurable --num and --model (e.g. nano-banana-edit)
- Optional --likeness tuning and --json for agent-parseable output
- Writes outputs under media_outputs with --view for local preview
- Chains core media scripts: upload then generate-image in sequence
- Default pack size NUM_IMAGES=5 unless overridden with --num
- Requires either --image-url or --image (local file upload path)
Adoption & trust: 631 installs on skills.sh; 3.5k GitHub stars; 2/3 security scanners passed (skills.sh audits).
What problem does it solve?
You have one good reference photo but need several consistent variants for profiles or posts without manual prompt engineering for each shot.
Who is it for?
Indie creators and founders who already use the generative-media-skills repo and want scripted multi-image packs from a single likeness or headshot.
Skip if: Teams that need fine-grained per-image art direction in chat only, or workflows with no reference image and no MuAPI/media script dependencies.
When should I use this skill?
User wants a pack of images from a reference photo and a category (e.g. LinkedIn), with optional model and likeness controls.
What do I get? / Deliverables
You get multiple generated images saved to the project media output folder (or JSON metadata when --json is set), ready to upload to social or landing assets.
- Multiple image files under media_outputs (or JSON-only run summary with --json)
- Uploaded public URL when starting from a local --image file
Recommended Skills
Journey fit
Photo packs are produced when you are ready to publish or distribute visual assets across channels, which maps to Launch → distribution rather than core product build. Distribution subphase covers repeatable visual kits for profiles, posts, and campaigns—not one-off app UI mockups.
How it compares
A packaged batch generator for reference-based edits—not a general-purpose single-image chat prompt or an MCP media server by itself.
Common Questions / FAQ
Who is muapi-photo-pack-generator for?
Solo builders and marketers using samuraigpt/generative-media-skills who want automated multi-image packs from one photo for distribution channels.
When should I use muapi-photo-pack-generator?
During Launch distribution when refreshing LinkedIn or social imagery, or in Grow content workflows when you need several variants from one approved reference shot.
Is muapi-photo-pack-generator safe to install?
Review the Security Audits panel on this Prism page before running bash media scripts that upload local files and call external generation APIs.
SKILL.md
READMESKILL.md - Muapi Photo Pack Generator
#!/bin/bash # Photo Pack Generator Skill # Generates a pack of images based on a reference image and a category. IMAGE_URL="" IMAGE_FILE="" CATEGORY="LinkedIn" MODEL="nano-banana-edit" NUM_IMAGES=5 VIEW_FLAG_LOCAL=false JSON_ONLY=false LIKENESS="" # Scripts directory SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" UPLOAD_SCRIPT="$SCRIPT_DIR/../../../../core/media/upload.sh" GENERATE_SCRIPT="$SCRIPT_DIR/../../../../core/media/generate-image.sh" OUTPUT_DIR="$SCRIPT_DIR/../../../../media_outputs" while [[ $# -gt 0 ]]; do case $1 in --image-url) IMAGE_URL="$2"; shift 2 ;; --image) IMAGE_FILE="$2"; shift 2 ;; --category) CATEGORY="$2"; shift 2 ;; --model) MODEL="$2"; shift 2 ;; --num) NUM_IMAGES="$2"; shift 2 ;; --view) VIEW_FLAG_LOCAL=true; shift ;; --json) JSON_ONLY=true; shift ;; --likeness) LIKENESS="$2"; shift 2 ;; *) shift ;; esac done if [ -z "$IMAGE_URL" ] && [ -z "$IMAGE_FILE" ]; then echo "Error: Either --image-url or --image (local file) is required." exit 1 fi # 1. Handle local file upload if [ -n "$IMAGE_FILE" ]; then [ "$JSON_ONLY" = false ] && echo "Uploading local image: $IMAGE_FILE..." >&2 IMAGE_URL=$(bash "$UPLOAD_SCRIPT" --file "$IMAGE_FILE") if [ -z "$IMAGE_URL" ]; then echo "Error: Upload failed." exit 1 fi [ "$JSON_ONLY" = false ] && echo "Uploaded to: $IMAGE_URL" >&2 fi # 2. Extract Prompts based on Category # Improved prompts using "Perfect Prompt" formula: Subject + Action + Context + Composition + Lighting + Style PROMPTS=() SUBJECT="${LIKENESS:-the person}" # Ultra-High Fidelity Likeness Prefix LIKENESS_PREFIX="STRICTLY PRESERVE the EXACT facial geometry, PIXEL-PERFECT bone structure, and identical facial features from the reference image. Every detail of the eyes, nose, and jawline must remain unchanged. " case $CATEGORY in "LinkedIn") PROMPTS=( "Using reference image, ${LIKENESS_PREFIX} high-resolution professional profile photo of ${SUBJECT}, chest up, looking directly at the camera with a confident smile. Wearing a premium navy business suit and white shirt. Solid neutral studio background. 85mm f/1.8 lens, exquisite focus on eyes, realistic skin texture, soft diffused studio lighting, cinematic corporate color grading." "Using reference image, ${LIKENESS_PREFIX} corporate headshot of ${SUBJECT}, professional business casual attire, clean soft gray studio backdrop. Sharp focus, natural skin tones, Rembrandt lighting, professional magazine quality portrait, 8k resolution." "Using reference image, ${LIKENESS_PREFIX} professional portrait of ${SUBJECT}, executive presence, wearing a charcoal blazer, modern glass office background blurred (bokeh). Soft daylight from side window, high-end commercial photography, meticulous detail, photorealistic." "Using reference image, ${LIKENESS_PREFIX} professional headshot of ${SUBJECT}, friendly and approachable expression, wearing a smart casual sweater. Clean minimalist office setting, bright and airy lighting, crisp detail, realistic textures, shot on Sony A7R IV." "Using reference image, ${LIKENESS_PREFIX} business portrait of ${SUBJECT}, suit refinement, clear sharp facial features, subtle studio lighting with hair light, polished and trustworthy expression, blurred professional environment." ) ;; "Tinder"|"Bumble") PROMPTS=( "Using reference image, ${LIKENESS_PREFIX} natural high-resolution dating profile photo of ${SUBJECT} with a warm genuine smile. Relaxed posture, wearing a stylish knit sweater. Soft natural daylight, outdoor cafe setting with blurred background bokeh (f/1.4). Authentic friendly energy, realistic skin tones, 35mm film grain." "Using reference image, ${LIKENESS_PREFIX} candid dating app photo of ${SUBJECT} in a stylish leather jacket, leaning against a brick wall on a vibrant