cue-ai 0.9.2 → 0.9.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -3
- package/README.md +154 -394
- package/bin/cue-learnings +30 -4
- package/bin/cue-review-progress +0 -0
- package/bin/cue-review-watch +0 -0
- package/dist/cue.js +4328 -3108
- package/package.json +1 -1
- package/plugins/cue/commands/cue-switch.md +1 -1
- package/plugins/cue/commands/cue.md +1 -1
- package/profiles/backend/profile.yaml +4 -0
- package/profiles/browser/profile.yaml +4 -0
- package/profiles/career/profile.yaml +2 -13
- package/profiles/commerce/profile.yaml +0 -2
- package/profiles/coolify/profile.yaml +0 -1
- package/profiles/core/profile.yaml +78 -11
- package/profiles/dash-merge-test/profile.yaml +6 -1
- package/profiles/designer/profile.yaml +9 -1
- package/profiles/dropshipping/profile.yaml +69 -0
- package/profiles/frontend/profile.yaml +4 -0
- package/profiles/google-ads/profile.yaml +34 -0
- package/profiles/google-analytics/profile.yaml +34 -0
- package/profiles/google-drive/profile.yaml +34 -0
- package/profiles/gstack/profile.yaml +117 -29
- package/profiles/marketing/profile.yaml +0 -1
- package/profiles/media/README.md +70 -0
- package/profiles/media/profile.yaml +104 -0
- package/profiles/nano-banana/profile.yaml +52 -0
- package/profiles/ops/profile.yaml +1 -2
- package/profiles/secops/profile.yaml +3 -0
- package/profiles/skill-writer/profile.yaml +15 -0
- package/profiles/video/profile.yaml +3 -0
- package/profiles/web-frontend-base/profile.yaml +6 -0
- package/profiles/webshop/profile.yaml +0 -1
- package/profiles/webshop-google/profile.yaml +1 -0
- package/profiles/x-growth-bot/profile.yaml +2 -0
- package/resources/icons/generate-icons.py +2 -128
- package/resources/mcps/configs/claude.sanitized.json +88 -20
- package/resources/mcps/configs/claude_runtime.sanitized.json +40 -1
- package/resources/mcps/configs/codex.sanitized.json +29 -0
- package/resources/skills/skills/career/job-hunter/LICENSE +21 -0
- package/resources/skills/skills/career/job-hunter/README.md +323 -0
- package/resources/skills/skills/career/job-hunter/SKILL.md +91 -0
- package/resources/skills/skills/career/job-hunter/agents/README.md +96 -0
- package/resources/skills/skills/career/job-hunter/agents/apply-assessment-prep.md +195 -0
- package/resources/skills/skills/career/job-hunter/agents/apply-ats-scan.md +155 -0
- package/resources/skills/skills/career/job-hunter/agents/apply-bias-audit.md +224 -0
- package/resources/skills/skills/career/job-hunter/agents/apply-cover-letter.md +69 -0
- package/resources/skills/skills/career/job-hunter/agents/apply-decode-jd.md +117 -0
- package/resources/skills/skills/career/job-hunter/agents/apply-fit-score.md +183 -0
- package/resources/skills/skills/career/job-hunter/agents/apply-linkedin-audit.md +74 -0
- package/resources/skills/skills/career/job-hunter/agents/apply-linkedin-scrape.md +255 -0
- package/resources/skills/skills/career/job-hunter/agents/apply-portfolio-brief.md +123 -0
- package/resources/skills/skills/career/job-hunter/agents/apply-reality-check.md +164 -0
- package/resources/skills/skills/career/job-hunter/agents/apply-reference-prep.md +150 -0
- package/resources/skills/skills/career/job-hunter/agents/apply-rejection-analysis.md +172 -0
- package/resources/skills/skills/career/job-hunter/agents/apply-resume.md +70 -0
- package/resources/skills/skills/career/job-hunter/agents/apply-skills-gap-filler.md +109 -0
- package/resources/skills/skills/career/job-hunter/agents/career-internal.md +94 -0
- package/resources/skills/skills/career/job-hunter/agents/career-linkedin-content.md +173 -0
- package/resources/skills/skills/career/job-hunter/agents/career-linkedin-scanner.md +262 -0
- package/resources/skills/skills/career/job-hunter/agents/career-network-message.md +108 -0
- package/resources/skills/skills/career/job-hunter/agents/career-promote.md +102 -0
- package/resources/skills/skills/career/job-hunter/agents/career-review.md +71 -0
- package/resources/skills/skills/career/job-hunter/agents/interview-debrief.md +117 -0
- package/resources/skills/skills/career/job-hunter/agents/interview-mock.md +171 -0
- package/resources/skills/skills/career/job-hunter/agents/interview-panel-decoder.md +152 -0
- package/resources/skills/skills/career/job-hunter/agents/interview-prep.md +184 -0
- package/resources/skills/skills/career/job-hunter/agents/interview-question-bank.md +133 -0
- package/resources/skills/skills/career/job-hunter/agents/interview-research.md +148 -0
- package/resources/skills/skills/career/job-hunter/agents/offer-compare.md +117 -0
- package/resources/skills/skills/career/job-hunter/agents/offer-counteroffer.md +144 -0
- package/resources/skills/skills/career/job-hunter/agents/offer-deadline-manager.md +148 -0
- package/resources/skills/skills/career/job-hunter/agents/offer-negotiate.md +126 -0
- package/resources/skills/skills/career/job-hunter/agents/offer-schedule.md +99 -0
- package/resources/skills/skills/career/job-hunter/agents/offer-thankyou.md +80 -0
- package/resources/skills/skills/career/job-hunter/agents/search-company-research.md +146 -0
- package/resources/skills/skills/career/job-hunter/agents/search-follow-up.md +129 -0
- package/resources/skills/skills/career/job-hunter/agents/search-ghost-job-detector.md +152 -0
- package/resources/skills/skills/career/job-hunter/agents/search-inbox-scan.md +193 -0
- package/resources/skills/skills/career/job-hunter/agents/search-interview-scorecard.md +164 -0
- package/resources/skills/skills/career/job-hunter/agents/search-jobs.md +149 -0
- package/resources/skills/skills/career/job-hunter/agents/search-momentum-check.md +194 -0
- package/resources/skills/skills/career/job-hunter/agents/search-outreach.md +85 -0
- package/resources/skills/skills/career/job-hunter/agents/search-referral-finder.md +124 -0
- package/resources/skills/skills/career/job-hunter/agents/search-salary.md +96 -0
- package/resources/skills/skills/career/job-hunter/agents/search-send-email.md +109 -0
- package/resources/skills/skills/career/job-hunter/agents/search-tracker-update.md +127 -0
- package/resources/skills/skills/career/job-hunter/inputs/README.md +26 -0
- package/resources/skills/skills/career/job-hunter/inputs/apply-linkedin-url.txt +8 -0
- package/resources/skills/skills/career/job-hunter/inputs/interview-context.md +24 -0
- package/resources/skills/skills/career/job-hunter/inputs/job-description.md +20 -0
- package/resources/skills/skills/career/job-hunter/inputs/job-search-criteria.md +36 -0
- package/resources/skills/skills/career/job-hunter/inputs/my-linkedin.md +24 -0
- package/resources/skills/skills/career/job-hunter/inputs/my-resume.md +28 -0
- package/resources/skills/skills/career/job-hunter/inputs/search-outreach-target.md +24 -0
- package/resources/skills/skills/career/job-hunter/rules/README.md +37 -0
- package/resources/skills/skills/career/job-hunter/rules/writing-rules.md +81 -0
- package/resources/skills/skills/design/banana/SKILL.md +375 -0
- package/resources/skills/skills/design/banana/references/cost-tracking.md +47 -0
- package/resources/skills/skills/design/banana/references/gemini-models.md +236 -0
- package/resources/skills/skills/design/banana/references/mcp-tools.md +145 -0
- package/resources/skills/skills/design/banana/references/post-processing.md +192 -0
- package/resources/skills/skills/design/banana/references/presets.md +69 -0
- package/resources/skills/skills/design/banana/references/prompt-engineering.md +481 -0
- package/resources/skills/skills/design/banana/scripts/batch.py +97 -0
- package/resources/skills/skills/design/banana/scripts/cost_tracker.py +191 -0
- package/resources/skills/skills/design/banana/scripts/edit.py +159 -0
- package/resources/skills/skills/design/banana/scripts/generate.py +168 -0
- package/resources/skills/skills/design/banana/scripts/presets.py +154 -0
- package/resources/skills/skills/design/banana/scripts/setup_mcp.py +151 -0
- package/resources/skills/skills/design/banana/scripts/validate_setup.py +133 -0
- package/resources/skills/skills/gstack/ship/SKILL.md +13 -0
- package/resources/skills/skills/media/3d-logo-animation/SKILL.md +59 -0
- package/resources/skills/skills/media/action-figure-generator/SKILL.md +48 -0
- package/resources/skills/skills/media/ad-creative/SKILL.md +79 -0
- package/resources/skills/skills/media/ai-clipping/SKILL.md +194 -0
- package/resources/skills/skills/media/ai-clipping/scripts/run-ai-clipping.sh +200 -0
- package/resources/skills/skills/media/ai-fight-scene/SKILL.md +132 -0
- package/resources/skills/skills/media/amazon-product-listing/SKILL.md +68 -0
- package/resources/skills/skills/media/animal-video-generator/SKILL.md +59 -0
- package/resources/skills/skills/media/award-ceremony-video/SKILL.md +87 -0
- package/resources/skills/skills/media/blog-header/SKILL.md +61 -0
- package/resources/skills/skills/media/brand-kit/SKILL.md +72 -0
- package/resources/skills/skills/media/brochures/SKILL.md +65 -0
- package/resources/skills/skills/media/cartoon-dance-animation/SKILL.md +62 -0
- package/resources/skills/skills/media/character-story-video/SKILL.md +84 -0
- package/resources/skills/skills/media/chibi-collage-effect/SKILL.md +63 -0
- package/resources/skills/skills/media/cinema-director/SKILL.md +93 -0
- package/resources/skills/skills/media/cinema-director/scripts/generate-film.sh +78 -0
- package/resources/skills/skills/media/color-analysis-board/SKILL.md +71 -0
- package/resources/skills/skills/media/core-edit/SKILL.md +48 -0
- package/resources/skills/skills/media/core-edit/edit-image.sh +54 -0
- package/resources/skills/skills/media/core-edit/enhance-image.sh +191 -0
- package/resources/skills/skills/media/core-edit/lipsync.sh +144 -0
- package/resources/skills/skills/media/core-edit/video-effects.sh +193 -0
- package/resources/skills/skills/media/core-media/SKILL.md +49 -0
- package/resources/skills/skills/media/core-media/create-music.sh +169 -0
- package/resources/skills/skills/media/core-media/generate-image.sh +161 -0
- package/resources/skills/skills/media/core-media/generate-video.sh +137 -0
- package/resources/skills/skills/media/core-media/image-to-video.sh +228 -0
- package/resources/skills/skills/media/core-media/schema_data.json +18708 -0
- package/resources/skills/skills/media/core-media/upload.sh +41 -0
- package/resources/skills/skills/media/core-platform/SKILL.md +41 -0
- package/resources/skills/skills/media/core-platform/check-result.sh +37 -0
- package/resources/skills/skills/media/core-platform/setup.sh +31 -0
- package/resources/skills/skills/media/couple-grid-creator/SKILL.md +47 -0
- package/resources/skills/skills/media/design-guide/SKILL.md +73 -0
- package/resources/skills/skills/media/drone-style-video/SKILL.md +61 -0
- package/resources/skills/skills/media/fashion-try-on/SKILL.md +61 -0
- package/resources/skills/skills/media/floor-plan-rendering/SKILL.md +56 -0
- package/resources/skills/skills/media/freeze-effect-video/SKILL.md +100 -0
- package/resources/skills/skills/media/giant-product-showcase/SKILL.md +61 -0
- package/resources/skills/skills/media/instagram-post/SKILL.md +58 -0
- package/resources/skills/skills/media/interior-design/SKILL.md +61 -0
- package/resources/skills/skills/media/interior-design-visualizer/SKILL.md +57 -0
- package/resources/skills/skills/media/jewelry-product-video/SKILL.md +61 -0
- package/resources/skills/skills/media/kdenlive/SKILL.md +106 -0
- package/resources/skills/skills/media/kdenlive/scripts/assemble.sh +57 -0
- package/resources/skills/skills/media/kdenlive/scripts/common.sh +30 -0
- package/resources/skills/skills/media/kdenlive/scripts/inspect.sh +19 -0
- package/resources/skills/skills/media/kdenlive/scripts/reframe.sh +22 -0
- package/resources/skills/skills/media/kdenlive/scripts/render.sh +16 -0
- package/resources/skills/skills/media/kdenlive/scripts/title-card.sh +25 -0
- package/resources/skills/skills/media/keyboard-art-maker/SKILL.md +44 -0
- package/resources/skills/skills/media/logo-branding/SKILL.md +70 -0
- package/resources/skills/skills/media/logo-creator/SKILL.md +80 -0
- package/resources/skills/skills/media/logo-creator/scripts/create-logo.sh +38 -0
- package/resources/skills/skills/media/logo-generator/SKILL.md +56 -0
- package/resources/skills/skills/media/multi-angle-reshoot/SKILL.md +70 -0
- package/resources/skills/skills/media/multi-angle-shots/SKILL.md +73 -0
- package/resources/skills/skills/media/music-video/SKILL.md +61 -0
- package/resources/skills/skills/media/nano-banana/SKILL.md +80 -0
- package/resources/skills/skills/media/nano-banana/scripts/generate-nano-art.sh +54 -0
- package/resources/skills/skills/media/one-shot-video/SKILL.md +56 -0
- package/resources/skills/skills/media/photo-pack-generator/SKILL.md +205 -0
- package/resources/skills/skills/media/photo-pack-generator/scripts/generate-pack.sh +241 -0
- package/resources/skills/skills/media/product-ad-cinematic/SKILL.md +78 -0
- package/resources/skills/skills/media/product-campaign/SKILL.md +76 -0
- package/resources/skills/skills/media/product-showcase-video/SKILL.md +60 -0
- package/resources/skills/skills/media/product-video-ad-maker/SKILL.md +59 -0
- package/resources/skills/skills/media/rednote-cover/SKILL.md +57 -0
- package/resources/skills/skills/media/seedance-2/SKILL.md +632 -0
- package/resources/skills/skills/media/seedance-2/scripts/generate-seedance.sh +701 -0
- package/resources/skills/skills/media/selfie-with-celebrities/SKILL.md +64 -0
- package/resources/skills/skills/media/social-media-video/SKILL.md +277 -0
- package/resources/skills/skills/media/social-media-video/scripts/run-social-video.sh +316 -0
- package/resources/skills/skills/media/social-pack/SKILL.md +58 -0
- package/resources/skills/skills/media/storyboard/SKILL.md +57 -0
- package/resources/skills/skills/media/storyboard-to-cooking-video/SKILL.md +143 -0
- package/resources/skills/skills/media/talking-baby-video/SKILL.md +57 -0
- package/resources/skills/skills/media/ugc-ads-workflow/SKILL.md +70 -0
- package/resources/skills/skills/media/ugc-lifestyle-try-on/SKILL.md +65 -0
- package/resources/skills/skills/media/ugc-video-factory/SKILL.md +134 -0
- package/resources/skills/skills/media/ui-design/SKILL.md +81 -0
- package/resources/skills/skills/media/ui-design/scripts/generate-mockup.sh +49 -0
- package/resources/skills/skills/media/url-to-design/SKILL.md +61 -0
- package/resources/skills/skills/media/workflow/SKILL.md +197 -0
- package/resources/skills/skills/media/workflow/scripts/discover-workflow.sh +18 -0
- package/resources/skills/skills/media/workflow/scripts/generate-workflow.sh +33 -0
- package/resources/skills/skills/media/workflow/scripts/interactive-run.sh +16 -0
- package/resources/skills/skills/media/workflow/scripts/list-workflows.sh +20 -0
- package/resources/skills/skills/media/workflow/scripts/run-workflow.sh +34 -0
- package/resources/skills/skills/media/youtube-shorts/SKILL.md +173 -0
- package/resources/skills/skills/media/youtube-shorts/scripts/run-youtube-shorts.sh +141 -0
- package/resources/skills/skills/media/youtube-thumbnail/SKILL.md +66 -0
- package/resources/skills/skills/meta/cue-developer/references/architecture.md +2 -2
- package/resources/skills/skills/meta/cue-usage/SKILL.md +1 -1
- package/resources/skills/skills/meta/profile-fit-monitor/SKILL.md +2 -2
- package/resources/skills/skills/meta/profile-optimizer/SKILL.md +1 -1
- package/resources/skills/skills/meta/profile-suggest/SKILL.md +7 -7
- package/resources/skills/skills/meta/profile-summon/SKILL.md +159 -0
- package/resources/skills/skills/meta/profile-summon/evals/evals.json +53 -0
- package/resources/skills/skills/meta/save-profile/SKILL.md +1 -1
- package/resources/skills/skills/meta/skill-reviewer/SKILL.md +3 -0
- package/resources/skills/skills/meta/skill-reviewer/references/tdd-for-skills.md +55 -0
- package/resources/skills/skills/research/find-skills/SKILL.md +1 -1
- package/resources/skills/skills/review/code-review-deep/SKILL.md +20 -0
- package/resources/skills/skills/security/trivy-scan/SKILL.md +139 -0
- package/resources/skills/skills/security/trivy-scan/scripts/ensure-trivy.sh +21 -0
- package/resources/skills/skills/tools/ccusage/SKILL.md +142 -0
- package/src/commands/_index.ts +8 -0
- package/src/commands/ai.ts +2 -2
- package/src/commands/auto-detect.test.ts +74 -0
- package/src/commands/auto-detect.ts +9 -7
- package/src/commands/cli.test.ts +20 -4
- package/src/commands/cli.ts +36 -20
- package/src/commands/create-profile.ts +2 -2
- package/src/commands/debug.ts +2 -2
- package/src/commands/discover.ts +14 -4
- package/src/commands/export-docker.ts +1 -1
- package/src/commands/features-batch1.test.ts +1 -1
- package/src/commands/gates.ts +1 -1
- package/src/commands/import-profile.ts +1 -1
- package/src/commands/init.ts +15 -11
- package/src/commands/install.test.ts +192 -0
- package/src/commands/install.ts +610 -0
- package/src/commands/launch-handoff.e2e.test.ts +33 -1
- package/src/commands/launch.e2e.test.ts +15 -10
- package/src/commands/launch.ts +73 -116
- package/src/commands/materialize.ts +2 -2
- package/src/commands/prune.ts +1 -1
- package/src/commands/security-audit.ts +1 -1
- package/src/commands/shell.ts +7 -7
- package/src/commands/skill-report.ts +1 -1
- package/src/commands/skills.ts +3 -3
- package/src/commands/snapshot.ts +2 -2
- package/src/commands/summon.test.ts +116 -0
- package/src/commands/summon.ts +338 -0
- package/src/commands/trigger-gaps.ts +1 -1
- package/src/commands/use.ts +47 -3
- package/src/commands/watch-live.ts +5 -5
- package/src/commands/watch.ts +8 -8
- package/src/index.ts +2 -0
- package/src/lib/active-sessions.test.ts +3 -3
- package/src/lib/active-sessions.ts +4 -4
- package/src/lib/auto-detect.test.ts +172 -8
- package/src/lib/auto-detect.ts +191 -136
- package/src/lib/codex-persona-parity.test.ts +58 -0
- package/src/lib/companion-detect.test.ts +43 -1
- package/src/lib/companion-detect.ts +35 -0
- package/src/lib/credentials-sync.test.ts +121 -1
- package/src/lib/credentials-sync.ts +95 -1
- package/src/lib/cwd-resolver.test.ts +8 -8
- package/src/lib/cwd-resolver.ts +2 -2
- package/src/lib/dashboard-merge.test.ts +9 -4
- package/src/lib/dashboard-server.ts +1 -1
- package/src/lib/picker.test.ts +1 -1
- package/src/lib/picker.ts +5 -5
- package/src/lib/profile-merge.test.ts +8 -0
- package/src/lib/profile-names.test.ts +3 -3
- package/src/lib/runtime-install.ts +166 -0
- package/src/lib/runtime-materializer.test.ts +137 -0
- package/src/lib/runtime-materializer.ts +105 -2
- package/src/lib/skill-router.test.ts +38 -0
- package/src/lib/skill-router.ts +65 -4
- package/profiles/eu-tender-research/README.md +0 -48
- package/profiles/eu-tender-research/logo.png +0 -0
- package/profiles/eu-tender-research/profile.yaml +0 -108
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
---
|
|
2
|
+
slug: muapi-social-pack
|
|
3
|
+
name: muapi-social-pack
|
|
4
|
+
version: "1.0.0"
|
|
5
|
+
description: Re-render a hero image into Instagram, TikTok, YouTube-shorts and Twitter/X aspect ratios.
|
|
6
|
+
acceptLicenseTerms: true
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
# Social Media Pack
|
|
11
|
+
|
|
12
|
+
**Re-render a hero image into Instagram, TikTok, YouTube-shorts and Twitter/X aspect ratios.**
|
|
13
|
+
|
|
14
|
+
## Inputs
|
|
15
|
+
|
|
16
|
+
| Name | Type | Required | Default | Description |
|
|
17
|
+
|:---|:---|:---|:---|:---|
|
|
18
|
+
| `source_image` | image_url | yes | — | URL of the hero image (or asset_id from this session). |
|
|
19
|
+
| `caption_idea` | text | no | — | Optional caption / overlay direction (kept short). |
|
|
20
|
+
| `formats` | list | no | 1:1, 9:16, 4:5, 16:9 | Aspect ratios to produce. |
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
## Steps
|
|
24
|
+
|
|
25
|
+
Use the plan to fan out one node per format.
|
|
26
|
+
|
|
27
|
+
1. For each requested aspect ratio in `{{formats}}`:
|
|
28
|
+
- Call `muapi image edit` (model=nano-banana-2-edit) with the source image.
|
|
29
|
+
- Prompt: "Reframe the composition to {{aspect_ratio}} for social media.
|
|
30
|
+
Keep the subject centred and uncropped. Match the original lighting
|
|
31
|
+
and palette. {{caption_idea_hint}}".
|
|
32
|
+
- Where `{{caption_idea_hint}}` = "Leave headroom at the top for a
|
|
33
|
+
caption: '<caption_idea>'." (only if caption_idea is non-empty).
|
|
34
|
+
2. All formats run in parallel (no inter-node dependencies).
|
|
35
|
+
3. Return one asset id per format, labelled with the platform it suits:
|
|
36
|
+
- 1:1 → Instagram feed
|
|
37
|
+
- 9:16 → TikTok / IG Reels / YT Shorts
|
|
38
|
+
- 4:5 → Instagram portrait
|
|
39
|
+
- 16:9 → Twitter / X / YouTube
|
|
40
|
+
- 21:9 → cinematic banner
|
|
41
|
+
|
|
42
|
+
## Notes
|
|
43
|
+
- Don't generate fresh images — only reframe / re-edit the source.
|
|
44
|
+
- If the source already matches a format, skip that node and surface the
|
|
45
|
+
original asset id for it.
|
|
46
|
+
|
|
47
|
+
## Trigger Keywords
|
|
48
|
+
|
|
49
|
+
`social pack`, `resize for social`, `cross-post`, `multi-platform`
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## Notes for the Executing Agent
|
|
55
|
+
|
|
56
|
+
- 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.
|
|
57
|
+
- 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>`.
|
|
58
|
+
- Substitute `{{input_name}}` placeholders with the user's actual inputs before issuing each call.
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
---
|
|
2
|
+
slug: muapi-storyboard
|
|
3
|
+
name: muapi-storyboard
|
|
4
|
+
version: "1.0.0"
|
|
5
|
+
description: Generate N keyframes for a short story or scene sequence (image only, no video).
|
|
6
|
+
acceptLicenseTerms: true
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
# Storyboard Generator
|
|
11
|
+
|
|
12
|
+
**Generate N keyframes for a short story or scene sequence (image only, no video).**
|
|
13
|
+
|
|
14
|
+
## Inputs
|
|
15
|
+
|
|
16
|
+
| Name | Type | Required | Default | Description |
|
|
17
|
+
|:---|:---|:---|:---|:---|
|
|
18
|
+
| `premise` | text | yes | — | One-line story premise (e.g. "lonely robot finds a tiny mechanical bird friend"). |
|
|
19
|
+
| `scenes` | int | no | 6 | Number of keyframes to produce. |
|
|
20
|
+
| `style` | text | no | cinematic, photoreal, soft lighting, 16:9 | Visual style tags applied to every keyframe. |
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
## Steps
|
|
24
|
+
|
|
25
|
+
Use the plan to dispatch all N keyframes in a single parallel layer.
|
|
26
|
+
|
|
27
|
+
1. Decompose `premise` into `{{scenes}}` story beats with a clear arc:
|
|
28
|
+
setup → inciting moment → escalation → climax → resolution.
|
|
29
|
+
- Each beat gets a one-paragraph visual description.
|
|
30
|
+
- Maintain character / object continuity across beats (same character
|
|
31
|
+
appearance, same world).
|
|
32
|
+
2. For each beat, create a `muapi image generate` node (model=nano-banana-2, aspect_ratio=16:9):
|
|
33
|
+
- Prompt = `"<beat description>. {{style}}"`.
|
|
34
|
+
- Tier: balanced (these are reference keyframes, not finals).
|
|
35
|
+
- Aspect ratio: 16:9.
|
|
36
|
+
3. Run the plan in parallel (no `depends_on` between keyframes).
|
|
37
|
+
4. Return the asset ids in beat order with a one-line caption per scene.
|
|
38
|
+
|
|
39
|
+
## Notes
|
|
40
|
+
- Don't animate, upscale, or add audio — this skill is keyframes only.
|
|
41
|
+
If the user wants video, suggest the `music-video` skill afterward.
|
|
42
|
+
- For consistency, repeat character description verbatim in every prompt
|
|
43
|
+
("a small rusty humanoid robot with…") rather than relying on the model
|
|
44
|
+
to remember.
|
|
45
|
+
|
|
46
|
+
## Trigger Keywords
|
|
47
|
+
|
|
48
|
+
`storyboard`, `keyframes`, `scene sequence`, `story panels`
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## Notes for the Executing Agent
|
|
54
|
+
|
|
55
|
+
- 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.
|
|
56
|
+
- 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>`.
|
|
57
|
+
- Substitute `{{input_name}}` placeholders with the user's actual inputs before issuing each call.
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
---
|
|
2
|
+
slug: muapi-storyboard-to-cooking-video
|
|
3
|
+
name: muapi-storyboard-to-cooking-video
|
|
4
|
+
version: "1.0.0"
|
|
5
|
+
description: Turn a single photo of a person into a 15-second cinematic pasta-making (or other cuisine) tutorial video. First builds a composite reference sheet (character + kitchen + 9-step action board), then animates the full cooking sequence with audio in a single continuous shot.
|
|
6
|
+
acceptLicenseTerms: true
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
# Storyboard to Cooking Video
|
|
11
|
+
|
|
12
|
+
**Turn a single photo of a person into a polished 15-second cinematic cooking tutorial. The skill first generates a high-end production reference sheet — character look, kitchen environment, and a 9-panel action board — then drives a continuous reference-to-video render that keeps the subject's face, outfit, and kitchen consistent across every frame.**
|
|
13
|
+
|
|
14
|
+
## Inputs
|
|
15
|
+
|
|
16
|
+
| Name | Type | Required | Default | Description |
|
|
17
|
+
|:---|:---|:---|:---|:---|
|
|
18
|
+
| `person_image` | image_url | yes | — | URL of the person photo. Used as identity reference in BOTH the reference sheet and the final video. |
|
|
19
|
+
| `dish` | text | no | fresh pasta | The cooking subject (e.g. "fresh pasta", "sushi rolls", "wood-fired pizza", "matcha latte"). Drives the 9-step action board. |
|
|
20
|
+
| `kitchen_style` | text | no | warm rustic-modern Italian | The kitchen aesthetic (e.g. "warm rustic-modern Italian", "minimalist Tokyo", "bright Scandinavian", "moody industrial"). |
|
|
21
|
+
| `outfit` | text | no | white t-shirt, olive green apron, dark trousers | What the person wears throughout the video. |
|
|
22
|
+
| `duration_seconds` | int | no | 15 | Final video duration. Use 15 for the full 9-step arc; 10 collapses to ~6 beats. |
|
|
23
|
+
| `aspect_ratio` | text | no | 16:9 | Output aspect ratio. Use `9:16` for vertical/Reels. |
|
|
24
|
+
| `resolution` | text | no | 720p | Video resolution. Options: `480p`, `720p`. |
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
## Steps
|
|
28
|
+
|
|
29
|
+
Submit the plan with TWO sequential steps. Step 2 depends on the output of Step 1.
|
|
30
|
+
|
|
31
|
+
### Step 1 — Reference Sheet (Composite Storyboard)
|
|
32
|
+
|
|
33
|
+
Generate the composite "production reference board" image. This is a single image, NOT a video frame — it bundles character sheet + location reference + 9-panel action board.
|
|
34
|
+
|
|
35
|
+
**Endpoint:** `gpt-image-v2-edit`
|
|
36
|
+
**CLI:**
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
muapi image edit \
|
|
40
|
+
--model gpt-image-v2-edit \
|
|
41
|
+
--image "{{person_image}}" \
|
|
42
|
+
--image-size "3840x2160" \
|
|
43
|
+
--quality auto \
|
|
44
|
+
--background auto \
|
|
45
|
+
--moderation low \
|
|
46
|
+
--output-format png \
|
|
47
|
+
--prompt "Create one single composite reference sheet for a {{duration_seconds}}-second realistic {{dish}}-making tutorial video. The image should be a clean, high-end production reference board, not a poster with heavy text. Format: {{aspect_ratio}} wide reference sheet, elegant white margins, clean grid layout, realistic cinematic photography style. Concept: {{dish}} tutorial in a {{kitchen_style}} kitchen.
|
|
48
|
+
|
|
49
|
+
Top row: motion / choreography guide with 9 numbered cinematic action panels showing the {{dish}} process step-by-step from raw ingredients to final plated dish.
|
|
50
|
+
|
|
51
|
+
Middle-left: realistic character reference sheet of the uploaded person — preserve their exact face, hair color, hair texture, eye color, skin tone, and all facial features with 100% accuracy. Show the same person in: face close-up, full-body front view, side/action working pose, and back view. Dress them in {{outfit}}. Keep them grounded, approachable, skilled, and cinematic.
|
|
52
|
+
|
|
53
|
+
Middle-right / background: location reference sheet of an elegant {{kitchen_style}} kitchen with tactile surfaces, natural daylight from a large window, hanging cookware, herbs, and premium cooking atmosphere appropriate to the cuisine.
|
|
54
|
+
|
|
55
|
+
Style: realistic, cinematic, warm natural light, shallow depth of field, tactile food photography, premium cooking show aesthetic, rich surface textures.
|
|
56
|
+
|
|
57
|
+
Bottom strip: simple visual icons only for {{duration_seconds}} seconds, {{aspect_ratio}}, realistic, cinematic, tasty, natural camera. Minimal text, no dense paragraphs. Let the visuals do the heavy lifting."
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Wait for completion and capture the output URL as `{{reference_sheet_url}}`. Show it to the user and confirm the character likeness + kitchen mood before moving to Step 2 — Step 2 is the expensive call.
|
|
61
|
+
|
|
62
|
+
### Step 2 — Cooking Video (Reference-to-Video)
|
|
63
|
+
|
|
64
|
+
Animate the full sequence using both the original person photo (identity anchor) and the reference sheet (narrative + environment guide) as dual references.
|
|
65
|
+
|
|
66
|
+
**Endpoint:** `bytedance-seedance-2-0-reference-to-video-fast`
|
|
67
|
+
**CLI:**
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
muapi video generate \
|
|
71
|
+
--model bytedance-seedance-2-0-reference-to-video-fast \
|
|
72
|
+
--image "{{person_image}}" \
|
|
73
|
+
--image "{{reference_sheet_url}}" \
|
|
74
|
+
--aspect-ratio "{{aspect_ratio}}" \
|
|
75
|
+
--duration "{{duration_seconds}}" \
|
|
76
|
+
--resolution "{{resolution}}" \
|
|
77
|
+
--generate-audio true \
|
|
78
|
+
--prompt "The person in @Image1 is the subject — preserve their exact face, hair, eye color, skin tone, and all facial features with 100% accuracy throughout the entire video.
|
|
79
|
+
Use @Image2 as the visual and narrative guide — follow the cooking steps, kitchen setting, outfit, and atmosphere shown in the reference sheet exactly.
|
|
80
|
+
A single continuous cinematic video of the person from @Image1 making {{dish}} in the {{kitchen_style}} kitchen shown in @Image2. They wear {{outfit}} throughout.
|
|
81
|
+
|
|
82
|
+
VIDEO STRUCTURE
|
|
83
|
+
Follow the exact 9-step sequence as shown in @Image2, beat by beat, from raw ingredients through preparation to a final plated close-up.
|
|
84
|
+
|
|
85
|
+
MOTION STYLE
|
|
86
|
+
- Slow, deliberate, satisfying transitions between each step
|
|
87
|
+
- Natural hand and body movement with clear culinary intent
|
|
88
|
+
- Continuous flow with no jump cuts
|
|
89
|
+
- Warm and immersive pacing
|
|
90
|
+
|
|
91
|
+
CAMERA & CINEMATOGRAPHY
|
|
92
|
+
- Close-up shots for hands during mixing, kneading, cutting, plating
|
|
93
|
+
- Medium shots showing the person working at the counter
|
|
94
|
+
- Pull back slightly for the final plating to reveal the full kitchen
|
|
95
|
+
- Shallow depth of field — focus on hands and food, soft background blur
|
|
96
|
+
- No abrupt cuts — smooth match cuts and fluid transitions
|
|
97
|
+
|
|
98
|
+
VISUAL STYLE
|
|
99
|
+
- Warm natural daylight from a large kitchen window
|
|
100
|
+
- Rich tactile textures matching @Image2's environment
|
|
101
|
+
- Full color, warm cinematic color grading
|
|
102
|
+
|
|
103
|
+
CONSISTENCY RULES
|
|
104
|
+
- Same character throughout — face of @Image1 in every frame
|
|
105
|
+
- Same outfit across entire video
|
|
106
|
+
- Same kitchen environment as shown in @Image2
|
|
107
|
+
|
|
108
|
+
AUDIO
|
|
109
|
+
- Soft kitchen ambience, gentle culinary SFX (chopping, sizzling, pouring), light cinematic underscore
|
|
110
|
+
- No dialogue, no narration
|
|
111
|
+
|
|
112
|
+
OUTPUT STYLE
|
|
113
|
+
- Duration: exactly {{duration_seconds}} seconds
|
|
114
|
+
- Polished, cinematic, premium cooking show quality
|
|
115
|
+
- Ends with a beautiful close-up of the finished plated {{dish}}"
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
After generation:
|
|
119
|
+
- Present the final video URL to the user.
|
|
120
|
+
- Offer follow-ups: vertical 9:16 re-render for Reels, a longer 30s extended cut, or swap `{{dish}}` for a different cuisine using the same person image.
|
|
121
|
+
|
|
122
|
+
## Notes
|
|
123
|
+
|
|
124
|
+
- **Two-image reference is the whole trick.** `@Image1` locks identity, `@Image2` locks choreography + environment. Never drop one — single-reference runs lose either the face or the kitchen.
|
|
125
|
+
- The reference sheet at Step 1 must be wide (3840x2160). Smaller resolutions blur the 9 action panels and the video model can't read them.
|
|
126
|
+
- `bytedance-seedance-2-0-reference-to-video-fast` natively generates audio when `generate_audio=true`. Always include an audio direction in the prompt; otherwise the soundtrack is random.
|
|
127
|
+
- Real human faces ARE supported here because the person photo is the user's own subject and we route through the reference-to-video endpoint (not the restricted i2v variants).
|
|
128
|
+
- If the user wants a non-cooking sequence (e.g., latte art, plating tutorial, mixology), keep the same two-step structure — only `{{dish}}` and the 9-step description change.
|
|
129
|
+
- For shorter pieces (<= 8s), reduce the action board to 5–6 panels in Step 1; cramming 9 beats into 8s degrades motion quality (single-beat rule).
|
|
130
|
+
|
|
131
|
+
## Trigger Keywords
|
|
132
|
+
|
|
133
|
+
`cooking video`, `cooking tutorial`, `pasta video`, `recipe video`, `food video`, `chef video`, `cooking storyboard`, `kitchen tutorial`, `cooking reel`, `tutorial video from photo`, `storyboard to video`
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
## Notes for the Executing Agent
|
|
139
|
+
|
|
140
|
+
- 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.
|
|
141
|
+
- 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>`.
|
|
142
|
+
- Substitute `{{input_name}}` placeholders with the user's actual inputs before issuing each call.
|
|
143
|
+
- Step 1 must complete and return an output image URL before Step 2 fires — pass that URL as the second `--image` to the video step.
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
---
|
|
2
|
+
slug: muapi-talking-baby-video
|
|
3
|
+
name: muapi-talking-baby-video
|
|
4
|
+
version: "1.0.0"
|
|
5
|
+
description: Create a viral-style video of a talking baby with custom costumes and scripts.
|
|
6
|
+
acceptLicenseTerms: true
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
# Talking Baby Video
|
|
11
|
+
|
|
12
|
+
**Create a viral-style video of a talking baby with custom costumes and scripts.**
|
|
13
|
+
|
|
14
|
+
## Inputs
|
|
15
|
+
|
|
16
|
+
| Name | Type | Required | Default | Description |
|
|
17
|
+
|:---|:---|:---|:---|:---|
|
|
18
|
+
| `baby_costume` | text | no | a pilot uniform | The costume the baby is wearing (e.g., doctor, chef, pilot). |
|
|
19
|
+
| `dialogue` | text | no | Airbus A380 big plane! Go zoom! Have lots seats. People like fly in it. Best plane ever! | The script for the baby to say. |
|
|
20
|
+
| `baby_description` | text | no | A cute 6 months old male baby | Description of the baby. |
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
## Steps
|
|
24
|
+
|
|
25
|
+
### Phase A — Baby Character Generation
|
|
26
|
+
|
|
27
|
+
Submit the plan with ONE step to create the baby character:
|
|
28
|
+
|
|
29
|
+
1. **Baby Image Generation** — `muapi image generate` (model=`nano-banana` or `wan2.5-text-to-image`):
|
|
30
|
+
- Prompt: `{{baby_description}} sitting and wearing {{baby_costume}}. High-quality photography, soft natural lighting, adorable expression, detailed fabric textures, shallow depth of field, Pixar-like charm but realistic.`
|
|
31
|
+
- Aspect ratio: 9:16 or 1:1
|
|
32
|
+
|
|
33
|
+
Present the baby image to the user for approval.
|
|
34
|
+
|
|
35
|
+
### Phase B — Talking Animation
|
|
36
|
+
|
|
37
|
+
Once the image is approved, submit the plan to animate the baby talking:
|
|
38
|
+
|
|
39
|
+
1. **Talking Animation** — `muapi video from-image` (model=`grok-imagine-image-to-video`):
|
|
40
|
+
- Reference Image: The baby image from Phase A.
|
|
41
|
+
- Prompt: `A viral-style talking baby video. The baby is expressive, moving their mouth and head naturally while speaking the following lines: "{{dialogue}}". Subtle facial expressions like blinking and smiling. High-quality animation, smooth movements.`
|
|
42
|
+
- Aspect ratio: 9:16 or 1:1
|
|
43
|
+
|
|
44
|
+
After generation, present the final talking baby video.
|
|
45
|
+
|
|
46
|
+
## Trigger Keywords
|
|
47
|
+
|
|
48
|
+
`talking baby`, `viral baby video`, `baby pilot`, `baby doctor`, `funny baby animation`
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## Notes for the Executing Agent
|
|
54
|
+
|
|
55
|
+
- 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.
|
|
56
|
+
- 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>`.
|
|
57
|
+
- Substitute `{{input_name}}` placeholders with the user's actual inputs before issuing each call.
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
---
|
|
2
|
+
slug: muapi-ugc-ads-workflow
|
|
3
|
+
name: muapi-ugc-ads-workflow
|
|
4
|
+
version: "1.0.0"
|
|
5
|
+
description: Create a User-Generated Content (UGC) video ad by combining a human selfie and a product image, then generating a video script and an animated ad.
|
|
6
|
+
acceptLicenseTerms: true
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
# UGC Ads Workflow
|
|
11
|
+
|
|
12
|
+
**Create a User-Generated Content (UGC) video ad by combining a human selfie and a product image, then generating a video script and an animated ad.**
|
|
13
|
+
|
|
14
|
+
## Inputs
|
|
15
|
+
|
|
16
|
+
| Name | Type | Required | Default | Description |
|
|
17
|
+
|:---|:---|:---|:---|:---|
|
|
18
|
+
| `product_name` | text | yes | — | The name of the product being advertised (e.g. "Blume SuperBalm in plum"). |
|
|
19
|
+
| `human_image` | image_url | no | — | A selfie or photo of the human influencer. |
|
|
20
|
+
| `product_image` | image_url | no | — | A clear photo of the product. |
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
## Steps
|
|
24
|
+
|
|
25
|
+
### Phase A — Image Combination
|
|
26
|
+
|
|
27
|
+
If `{{human_image}}` or `{{product_image}}` is not provided, ask the user to upload them or offer to generate them.
|
|
28
|
+
|
|
29
|
+
Once both images are available, submit the plan with ONE step to combine them:
|
|
30
|
+
|
|
31
|
+
1. **Image Generation** — `muapi image edit` (model=`gpt-image-2-text-to-image`):
|
|
32
|
+
- Reference Images: Use both `{{human_image}}` and `{{product_image}}`.
|
|
33
|
+
- Prompt: `A natural, candid UGC-style photo of the influencer from the first reference image holding and showcasing the product from the second reference image. The influencer is smiling genuinely at the camera, holding the product up. Natural indoor lighting, lifestyle aesthetic, high quality.`
|
|
34
|
+
- Aspect ratio: 9:16 (vertical for TikTok/Reels/Shorts).
|
|
35
|
+
|
|
36
|
+
Present the combined image to the user for approval.
|
|
37
|
+
|
|
38
|
+
### Phase B — Script & Video Generation
|
|
39
|
+
|
|
40
|
+
1. **Research & Scripting**: Use your web search tools to find details about `{{product_name}}` to understand its key benefits.
|
|
41
|
+
2. Based on the research, craft a UGC-style video script with timestamps, similar to this format:
|
|
42
|
+
|
|
43
|
+
*(0-2s) Influencer is holding the {{product_name}}, smiling genuinely to the camera.*
|
|
44
|
+
"Okay, so you know how I'm always looking for that perfect everyday product?"
|
|
45
|
+
*(2-7s) Influencer shows the product closer to the camera...*
|
|
46
|
+
"Well, I found it! This {{product_name}} is seriously so good."
|
|
47
|
+
*(7-12s) Influencer uses/applies the product.*
|
|
48
|
+
"It feels amazing and actually works."
|
|
49
|
+
*(12-15s) Influencer smiles, slightly pouts, and casually shrugs or nods in approval.*
|
|
50
|
+
"It’s totally become my go-to. You have to try it!"
|
|
51
|
+
|
|
52
|
+
3. **Video Generation**: Submit the plan using an image-to-video model (e.g. `sd-2-omni-reference` or `veo3.1-image-to-video`).
|
|
53
|
+
- Reference Image: The combined image from Phase A.
|
|
54
|
+
- Prompt: Use the visual actions from the script you generated. For example: `A UGC-style video. The influencer holds the {{product_name}}, smiling genuinely. She brings it closer to the camera to show the label, then applies it smoothly. She nods in approval and smiles. Natural movements, talking to the camera, lifestyle vlog style.`
|
|
55
|
+
- Aspect ratio: 9:16
|
|
56
|
+
|
|
57
|
+
After generating the video, present it along with the written script so the user can record their own voiceover or use a lipsync tool later.
|
|
58
|
+
|
|
59
|
+
## Trigger Keywords
|
|
60
|
+
|
|
61
|
+
`ugc ad`, `ugc video`, `influencer ad`, `product ad video`, `combine product and human`
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## Notes for the Executing Agent
|
|
67
|
+
|
|
68
|
+
- 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.
|
|
69
|
+
- 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>`.
|
|
70
|
+
- Substitute `{{input_name}}` placeholders with the user's actual inputs before issuing each call.
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
---
|
|
2
|
+
slug: muapi-ugc-lifestyle-try-on
|
|
3
|
+
name: muapi-ugc-lifestyle-try-on
|
|
4
|
+
version: "1.0.0"
|
|
5
|
+
description: Generate UGC-style (User Generated Content) lifestyle photos of a person wearing or using your product — authentic, relatable, social-media-native imagery.
|
|
6
|
+
acceptLicenseTerms: true
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
# UGC Lifestyle Try-On
|
|
11
|
+
|
|
12
|
+
**Generate UGC-style (User Generated Content) lifestyle photos of a person wearing or using your product — authentic, relatable, social-media-native imagery.**
|
|
13
|
+
|
|
14
|
+
## Inputs
|
|
15
|
+
|
|
16
|
+
| Name | Type | Required | Default | Description |
|
|
17
|
+
|:---|:---|:---|:---|:---|
|
|
18
|
+
| `product_name` | text | yes | — | The product to feature (e.g. "white oversized hoodie", "blue light blocking glasses", "leather crossbody bag"). |
|
|
19
|
+
| `product_image` | image_url | yes | — | Product image or photo URL to use as reference for the try-on. |
|
|
20
|
+
| `model_description` | text | no | woman, 25-30 years old, natural look, diverse | Description of the model (e.g. "man, athletic build, 20s", "woman, curvy, 30s, warm skin tone"). |
|
|
21
|
+
| `setting` | text | no | casual lifestyle, natural lighting | Scene and mood (e.g. "urban street style", "cozy home morning routine", "gym workout", "coffee shop"). |
|
|
22
|
+
| `platform` | text | no | instagram | Target platform — "instagram", "tiktok", "pinterest", "amazon". |
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
## Steps
|
|
26
|
+
|
|
27
|
+
Submit the plan with TWO steps:
|
|
28
|
+
|
|
29
|
+
### Step 1 — Outfit/Product Try-On
|
|
30
|
+
|
|
31
|
+
1. **Try-on generation** — `muapi image edit` (model=`ai-dress-change`) if product is wearable clothing, otherwise `muapi image edit` (model=`flux-kontext-pro-i2i`):
|
|
32
|
+
- For clothing/wearables with `ai-dress-change`:
|
|
33
|
+
- Product: `{{product_image}}`
|
|
34
|
+
- Prompt: `{{model_description}} wearing the product naturally in a {{setting}} environment. Authentic UGC-style photo, candid pose, natural expression.`
|
|
35
|
+
- For accessories/non-clothing with `flux-kontext-pro-i2i`:
|
|
36
|
+
- Prompt: `{{model_description}} using/wearing {{product_name}} in a {{setting}}. The product from the reference image is clearly visible and featured. Natural UGC-style lifestyle photography, authentic candid feel.`
|
|
37
|
+
- Aspect ratio: 4:5 for Instagram, 9:16 for TikTok, 2:3 for Pinterest
|
|
38
|
+
|
|
39
|
+
### Step 2 — UGC Lifestyle Variant
|
|
40
|
+
|
|
41
|
+
2. **Lifestyle context shot** — `muapi image edit` (model=`gpt4o-edit`) using the output from Step 1:
|
|
42
|
+
- Prompt: `Make this look like authentic UGC content — add realistic environment context for {{setting}}, adjust lighting to feel natural and unposed, subtle film grain, candid photography style. Keep product {{product_name}} clearly visible and well-lit.`
|
|
43
|
+
|
|
44
|
+
After generation:
|
|
45
|
+
- Present both the try-on and lifestyle variant
|
|
46
|
+
- Offer to generate a 3-image carousel set with different poses/settings
|
|
47
|
+
- Suggest adding a short UGC-style video with `kling-v3.0-pro-image-to-video`
|
|
48
|
+
|
|
49
|
+
## Notes
|
|
50
|
+
- UGC performs best when it looks "accidental" — avoid overly polished or symmetrical compositions.
|
|
51
|
+
- For TikTok/Reels, suggest animating the best static shot into a video.
|
|
52
|
+
- For Amazon, refer back to the `amazon-product-listing` skill for white-background variants.
|
|
53
|
+
|
|
54
|
+
## Trigger Keywords
|
|
55
|
+
|
|
56
|
+
`ugc`, `try on`, `lifestyle photo`, `model wearing`, `outfit photo`, `wear product`, `user generated`, `ugc content`, `lifestyle try on`
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## Notes for the Executing Agent
|
|
62
|
+
|
|
63
|
+
- 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.
|
|
64
|
+
- 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>`.
|
|
65
|
+
- Substitute `{{input_name}}` placeholders with the user's actual inputs before issuing each call.
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
---
|
|
2
|
+
slug: muapi-ugc-video-factory
|
|
3
|
+
name: muapi-ugc-video-factory
|
|
4
|
+
version: "1.0.0"
|
|
5
|
+
description: Turn a person photo + a product photo + an optional script into a vertical 9:16 UGC-style video ad. Generates a lifestyle hero image (Nano-Banana Pro Edit), then animates it with native audio using Seedance 2.0 VIP image-to-video.
|
|
6
|
+
acceptLicenseTerms: true
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
# UGC Video Factory
|
|
11
|
+
|
|
12
|
+
**Turn a person photo + product photo (+ optional script & environment) into a vertical 9:16 UGC-style video ad with native dialogue audio.**
|
|
13
|
+
|
|
14
|
+
A three-stage pipeline:
|
|
15
|
+
1. **GPT** writes a director-grade ultra-realistic lifestyle photography prompt from your inputs.
|
|
16
|
+
2. **Nano-Banana Pro Edit** fuses the person + product into a single hero photo (1K, 9:16).
|
|
17
|
+
3. **Seedance 2.0 VIP Image-to-Video** animates the hero photo into a 10s vertical UGC clip with synced spoken audio.
|
|
18
|
+
|
|
19
|
+
## Inputs
|
|
20
|
+
|
|
21
|
+
| Name | Type | Required | Default | Description |
|
|
22
|
+
|:---|:---|:---|:---|:---|
|
|
23
|
+
| `person` | image_url | yes | — | Photo of the person who will appear in the ad (face + upper body works best). |
|
|
24
|
+
| `product` | image_url | yes | — | Clear photo of the product (preferably on neutral background, logo/text legible). |
|
|
25
|
+
| `script` | text | no | `Okay… first of all, ship happens. And this hat is honestly my favorite. It also comes in navy and black, so you can pick your vibe.` | The exact line the on-screen person will say (kept short — 1–2 sentences fit 10s comfortably). |
|
|
26
|
+
| `environment` | text | no | `study room, laptop in front of it` | Scene / context where the person is using the product (e.g. "bathroom mirror, morning routine", "coffee shop window seat"). |
|
|
27
|
+
|
|
28
|
+
If `person` or `product` is missing, ask the user to upload them (`muapi upload file <path>`) or offer to generate placeholders before continuing.
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
## Steps
|
|
32
|
+
|
|
33
|
+
Run the three steps sequentially — each step's output feeds the next.
|
|
34
|
+
|
|
35
|
+
### Step 1 — Director Prompt (GPT)
|
|
36
|
+
|
|
37
|
+
Use a GPT model (`gpt-5.1` or whichever chat model is available to the executing agent) with **temperature 0** and **max ~200 tokens** to produce the hero-image prompt.
|
|
38
|
+
|
|
39
|
+
**System prompt:** `You are a helpful assistant.`
|
|
40
|
+
|
|
41
|
+
**User prompt** (substitute `{{person}}`, `{{product}}`, `{{environment}}`):
|
|
42
|
+
|
|
43
|
+
```
|
|
44
|
+
Uploaded images are being analyzed. Ultra-realistic lifestyle photography with {{person}} and {{product}} and {{environment}}.
|
|
45
|
+
|
|
46
|
+
If the product is wearable (e.g., hat, glasses, hooded sweatshirt), the person wears the product naturally.
|
|
47
|
+
|
|
48
|
+
If the product is carried in the hand (e.g., cream, bottle, thermos), the person holds the product naturally.
|
|
49
|
+
|
|
50
|
+
The product is clearly visible and is the main focus of the image. The logo or text on the product must be legible.
|
|
51
|
+
|
|
52
|
+
The person has a natural and modern look with a minimalist style.
|
|
53
|
+
|
|
54
|
+
The scene is consistent with the context of the product's use: {{environment}}.
|
|
55
|
+
|
|
56
|
+
Lighting: soft natural daylight.
|
|
57
|
+
Background: clean, aesthetic, slightly blurred (shallow depth of field).
|
|
58
|
+
Style: high-end commercial lifestyle photography, realistic textures, 4K quality, vertical 9:16 composition, social-media advertising style. The background and environment should be appropriate to the product (e.g. a woman with a serum could be at home). The person's facial details and the product must remain unchanged.
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
Capture the GPT response as `{{step1_prompt}}`.
|
|
62
|
+
|
|
63
|
+
### Step 2 — Hero Image (Nano-Banana Pro Edit)
|
|
64
|
+
|
|
65
|
+
Submit a `muapi image edit` call against the `nano-banana-pro-edit` model:
|
|
66
|
+
|
|
67
|
+
- **Reference images** (`image_urls`): `[ {{person}}, {{product}} ]` — order matters; person first.
|
|
68
|
+
- **Prompt**: `{{step1_prompt}}` from Step 1.
|
|
69
|
+
- **Aspect ratio**: `9:16`
|
|
70
|
+
- **Num images**: `1`
|
|
71
|
+
- **Resolution**: `1K`
|
|
72
|
+
- **Output format**: `jpeg`
|
|
73
|
+
|
|
74
|
+
Capture the resulting image URL as `{{hero_image}}`. Briefly show it to the user for approval before kicking off the video step.
|
|
75
|
+
|
|
76
|
+
### Step 3 — UGC Video (Seedance 2.0 VIP Image-to-Video)
|
|
77
|
+
|
|
78
|
+
Submit a `muapi video from-image` call against **`seedance-2-vip-image-to-video`** (or the `-fast` variant if the executing agent wants lower latency).
|
|
79
|
+
|
|
80
|
+
- **Start image**: `{{hero_image}}` from Step 2.
|
|
81
|
+
- **Aspect ratio**: `9:16`
|
|
82
|
+
- **Duration**: `10` seconds.
|
|
83
|
+
- **Generate audio**: `true` (native dialogue).
|
|
84
|
+
- **CFG scale**: `0.5`
|
|
85
|
+
- **Negative prompt**: `blur, distort, low quality`
|
|
86
|
+
- **Prompt** (substitute `{{script}}`):
|
|
87
|
+
|
|
88
|
+
```
|
|
89
|
+
Create a 10-second vertical UGC-style video (9:16).
|
|
90
|
+
|
|
91
|
+
A person is interacting naturally with their setting and product.
|
|
92
|
+
|
|
93
|
+
The product is used naturally:
|
|
94
|
+
- If wearable → the person is wearing it.
|
|
95
|
+
- If handheld → the person is holding or applying it.
|
|
96
|
+
|
|
97
|
+
The video is a single, uninterrupted shot. No cuts. No color changes. No text on screen.
|
|
98
|
+
|
|
99
|
+
The person looks directly at the camera with a relaxed and natural expression.
|
|
100
|
+
They interact comfortably with the product using their hands (adjusting, holding, pointing).
|
|
101
|
+
|
|
102
|
+
They say in a natural, conversational tone:
|
|
103
|
+
|
|
104
|
+
"{{script}}"
|
|
105
|
+
|
|
106
|
+
Subtle hand gestures while speaking.
|
|
107
|
+
End with a small smile or nod.
|
|
108
|
+
|
|
109
|
+
Style: authentic UGC, handheld phone feel, light natural movement, soft daylight, shallow depth of field, TikTok/Reels aesthetic.
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
Poll the result with `muapi predict wait <request_id>` and download to the user's outputs directory.
|
|
113
|
+
|
|
114
|
+
## Notes
|
|
115
|
+
|
|
116
|
+
- VIP tier supports 9:16 and durations 4–15s; 10s is the sweet spot for a 1–2 sentence script.
|
|
117
|
+
- Keep the script short — Seedance 2.0 will compress longer scripts and clip words.
|
|
118
|
+
- Seedance VIP tolerates realistic human faces in references (unlike Chinese tier), making it the right choice for UGC.
|
|
119
|
+
- If you want lower latency at the same quality, swap to `seedance-2-vip-image-to-video-fast`.
|
|
120
|
+
- For multi-shot ads, generate several `{{hero_image}}` variations in Step 2 and animate each independently — Seedance VIP does not multi-image i2v at 9:16 + audio.
|
|
121
|
+
|
|
122
|
+
## Trigger Keywords
|
|
123
|
+
|
|
124
|
+
`ugc video factory`, `ugc video ad`, `person plus product video`, `talking product ad`, `ugc reel`, `lifestyle product video`, `vertical ugc video`
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## Notes for the Executing Agent
|
|
130
|
+
|
|
131
|
+
- This recipe is LLM-orchestrated: read each phase, gather any missing inputs from the user, then call `muapi` CLI commands. Run `muapi auth configure` first if `MUAPI_API_KEY` is unset.
|
|
132
|
+
- For local files supplied by the user, upload them first: `muapi upload file <path> --output-json --jq '.url'`.
|
|
133
|
+
- Substitute `{{input_name}}` placeholders with the user's actual inputs before issuing each call.
|
|
134
|
+
- If the `muapi` CLI does not yet alias `nano-banana-pro-edit` or `seedance-2-vip-image-to-video`, fall back to the raw API: `curl -X POST https://api.muapi.ai/api/v1/<endpoint> -H "x-api-key: $MUAPI_API_KEY" -H 'content-type: application/json' -d '{...}'`, then poll with `muapi predict wait <request_id>`.
|