Showmeai
Generate and edit images, create videos, convert images to 3D, synthesize speech or music, and process images through ShowMeAI. Use when a user asks an Agent to create media, confi…
虎了吧唧
@hulebaji
What This Skill Does
Generates and edits images, creates videos, converts images to 3D models, synthesizes speech or music, and processes images through the ShowMeAI API. Handles configuration, token-group inspection, and task resumption for long-running generations.
Replaces manual workflows across multiple media generation tools by providing a single, deterministic CLI interface for ShowMeAI's creative-media APIs with built-in state management and recovery.
When to Use It
- Generate an image from a text prompt using a specific ShowMeAI model
- Edit an existing image by removing its background or upscaling it
- Create a short video from a text or image prompt
- Convert a 2D image into a 3D model
- Synthesize speech or music from a text description
- Resume an unfinished media generation task that was interrupted
Install
$ openclaw skills install @hulebaji/showmeaiShowMeAI Universal Media Skill
Purpose
Give Agents one safe, deterministic interface for ShowMeAI creative-media generation, configuration, result download, and long-task recovery.
Context
The Agent interprets creative intent and chooses a workflow. The Python runtime owns secrets, parameter validation, API payloads, retries, state transitions, downloads, and persistence. Do not reimplement those deterministic operations in prose or ad-hoc shell calls.
Use python3 {baseDir}/scripts/showmeai.py. Every command returns JSON; generated files are also emitted as MEDIA:<absolute-path>.
Instructions
The following order is mandatory. The readiness check is the first action for every new media request.
- Before asking for prompt, style, dimensions, quality, or count, run
doctor --category <requested-category>. Never begin creative intake first. - If it returns
SETUP_REQUIRED, offer the one-time Key setup. Never ask for a Key that is already configured. - If it returns
ONBOARDING_REQUIRED, runonboarding models --category <category> --json, show the current token group's relevant models with the recommended option first, and ask the user to explicitly choose a model and supported defaults. Then persist the choice withonboarding apply. Do not generate until it succeeds. - After category onboarding is complete, silently use the saved default unless the user requests an override. Do not ask for the model again on every generation.
- Accept a Key only through hidden interactive input or
setup --key-stdin; never put it in arguments, config JSON, logs, or replies. - Treat
modelsas the current Key group's view. Different token groups can expose different models. If a requested model is absent, tell the user to switch the token group or enable automatic grouping, then refresh. - The initial image recommendation is
gemini-3.1-flash-image; the user's confirmed choice always wins. - For video, 3D, music, and image-processing tasks, keep the command alive until terminal success or failure. Do not stop after a task ID. On interruption, preserve the journal and use
tasks resume. - Return downloaded local files, not only remote URLs or task IDs.
Configuration isolation
Never create, read, or modify OpenClaw, WorkBuddy, Hermes, Codex, Claude, or another host application's config or .env file for ShowMeAI setup. Use only this bundled runtime. Run paths --json when the exact ShowMeAI-owned config, credential, and state locations are needed. Do not invent a host-specific path.
One-time setup
Local interactive setup:
python3 {baseDir}/scripts/showmeai.py setup
When the user sends a Key to a trusted Agent, start this command and write the Key to standard input without echoing it:
python3 {baseDir}/scripts/showmeai.py setup --key-stdin --json
The Key step validates and stores the credential, then reports needs_defaults. In a local TTY, the wizard can immediately collect category choices. In Agent-assisted mode, continue with onboarding models and onboarding apply; --key-stdin must never silently complete model onboarding. See configuration.md.
Route requests
| Intent | Command | Read when needed |
|---|---|---|
| Setup, diagnose, list/configure models | setup, doctor, onboarding, models, paths, config | configuration.md |
| Generate or edit an image | image | image.md |
| Generate video | video | video.md |
| Convert image to 3D | 3d | three-d.md |
| Speech or music | tts, music | audio.md |
| Upscale or remove background | pic | image-tools.md |
| Long-running/recoverable task | tasks list, tasks resume | polling.md |
Use python3 {baseDir}/scripts/showmeai.py <command> --help for exact flags. Legacy scripts remain compatibility wrappers.
Output
{"ok":true,"data":{"kind":"image","model":"gemini-3.1-flash-image","files":["/absolute/path/result.png"]}}
Failures use {"ok":false,"error":{"code":"...","message":"...","retryable":false}}. Relay the safe message and recovery action. For success, return all files and mention any fallback model actually used. Never expose secrets.
Output file conventions
All media is downloaded below output.directory (default ./showmeai-output) in a category subdirectory. Return every absolute path from data.files and every MEDIA: line. Never overwrite an existing file. Async state belongs in the OS-native state directory.
Notes
- A task-ID response is not a completed media result.
- The saved user model overrides the initial recommendation.
verify_on_usemeans cataloged but not discoverable through the current Key's/v1/modelsresponse.verified_uncatalogedmeans a newly discovered creative model can be selected, but its special parameters must use API defaults until cataloged.- Image
--countis a 1–10 output contract. The runtime may use bounded parallel single-image calls, so report the physical request count and note that each request may be billed. - A user-specified
--max-waitis the only normal wall-clock cutoff; otherwise keep polling through nonterminal states.
Files
See README.md for the annotated distribution tree covering entry points, shared modules, data, on-demand references, and tests.
Distribution inventory: SKILL.md, README.md, README.zh-CN.md, DESIGN.md, CHANGELOG.md, LICENSE, data/model-catalog.json, references/audio.md, references/configuration.md, references/image-tools.md, references/image.md, references/polling.md, references/three-d.md, references/video.md, scripts/gen.py, scripts/image_to_3d.py, scripts/showmeai.py, scripts/video_gen.py, scripts/showmeai_core/__init__.py, scripts/showmeai_core/catalog.py, scripts/showmeai_core/config.py, scripts/showmeai_core/errors.py, scripts/showmeai_core/http.py, scripts/showmeai_core/outputs.py, scripts/showmeai_core/paths.py, scripts/showmeai_core/tasks.py, and tests/test.py.
Further Reading
- README.md — installation, Agent handoff prompt, examples, and file tree
- DESIGN.md — architecture, alternatives, limitations, and decisions
- CHANGELOG.md — release history
Top skills in this category
Nano Banana Pro
@steipeteGenerate/edit images with Nano Banana Pro (Gemini 3 Pro Image). Use for image create/modify requests incl. edits. Supports text-to-image + image-to-image; 1K/2K/4K; use --input-image.
AdMapix
@fly0pantsAdMapix raw data layer for ad creatives, apps, rankings, downloads/revenue, and market metadata. Returns structured JSON from the AdMapix API; the calling ag...
YouTube Watcher
@michaelgatharaFetch and read transcripts from YouTube videos. Use when you need to summarize a video, answer questions about its content, or extract information from it.
SuperDesign
@mpociotExpert frontend design guidelines for creating beautiful, modern UIs. Use when building landing pages, dashboards, or any user interface.
Video Frames
@steipeteExtract frames or short clips from videos using ffmpeg.