Agent skill · Audited from source
videoagent-image-studio
skill · pexoai/pexo-skillsMIT licenceAudited 26 Oct 2026 · source a72d4da09420
Is it safe? With care — CAUTION, grade B (89/100). We read this skill's source at commit a72d4da09420 and observed network access and no hard-coded secrets. The audit raised 2 findings, 0 critical or high. What it does: Tired of juggling 8 API keys? This skill gives you one-command access to Midjourney, Flux, Ideogram, and more, with zero setup. Use when you want to generate any image without worrying about API keys.
Cite
Cite this page
ModelsAtlas. “videoagent-image-studio (pexoai/pexo-skills)”. Retrieved 26 Oct 2026. https://modelsatlas.com/skills/pexoai/videoagent-image-studio
Trust audit
Audit 0.4.1 · source read 26 Oct 2026
CAUTION means the audit found things worth knowing before you trust this skill. Grade B is shared by 13,985 of 14,816 audited skills.
What the source does
- FilesystemNone observedNo reads or writes in the source
- NetworkDeclared3 observations
- ShellNone observedNo commands run in the source
- DependenciesNot pinnedSome versions float
- SecretsNone foundNo keys in source
Five audit layers
| Layer | What we check | Result | Findings |
|---|---|---|---|
L0 Provenance | Repo owner, licence, archive status, activity | PASS | 0 |
L1 Static source | Secrets, path traversal, supply chain, hidden code | PASS | 1 |
L2 Instructions | Prompt injection, authority framing, hidden directives | WARN | 1 |
L3 Inventory | The files and declarations match the source | PASS | 0 |
L4 Sandbox | Run in isolation and watch behaviour | SKIPPED why | 0 |
Gates applied: no behavioural pass.
Findings (2)
MEDIUMPrompt injectionreview.misleading_scope · SKILL.md
No dependencies needed — all calls go through the hosted proxy
- Why
- The description omits that the agent's prompts and image data are sent to a third-party proxy URL, which is not part of its stated image-generation purpose.
- Fix
- rewrite it so the instruction says plainly what it does, and asks the user before it acts
LOWSupply chainsupply.unpinned · package.json
undici
- Why
- 1 dependency range(s) float
- Fix
- pin exact versions or ship a lockfile
Audit 0.4.1 · source sha a72d4da09420 · 26 Oct 2026Report an issue or request a re-scan
Provenance
Who published it, and what the verdict is pinned to
- Publisherpexoai GitHub userOwner of the repository this skill is read from
- Source folderpexoai/pexo-skills/skills/videoagent-image-studioThe exact folder we audited
- LicenceMITAs the repository states it
- Commit pinned for this verdicta72d4da09420A new audit runs when the source changes
- Repository statusNot archivedLast push 67 days ago
- Sandboxed runNot runSkills are read, not executed; layer L4 is skipped
What it tells the agent
Full source on GitHub ↗Its description: Tired of juggling 8 API keys? This skill gives you one-command access to Midjourney, Flux, Ideogram, and more, with zero setup. Use when you want to generate any image without worrying about API keys.
---
name: videoagent-image-studio
version: 2.0.0
author: "wells"
emoji: "🎨"
tags:
- video
- image-generation
- midjourney
- flux
- gemini
- fal
- ideogram
- recraft
description: >
Tired of juggling 8 API keys? This skill gives you one-command access to Midjourney, Flux, Ideogram, and more, with zero setup. Use when you want to generate any image without worrying about API keys.
homepage: https://github.com/pexoai/image-studio-skill
metadata:
openclaw:
emoji: "🎨"
install:
- id: node
kind: node
label: "No dependencies needed — all calls go through the hosted proxy"
---
# 🎨 VideoAgent Image Studio
**Use when:** User asks to generate, draw, create, or make any kind of image, photo, illustration, icon, logo, or artwork.
Generate images with 8 state-of-the-art AI models. This skill automatically picks the best model for the job and handles all the complexity — including Midjourney's async polling — so you can focus on the conversation.
---
## Quick Reference
| User Intent | Model | Speed |
|---|---|---|
| Artistic, cinematic, painterly | `midjourney` | ~15s |
| Photorealistic, portrait, product | `flux-pro` | ~8s |
| General purpose, balanced | `flux-dev` | ~10s |
| Quick draft, fast iteration | `flux-schnell` | ~2s |
| Image with text, logo, poster | `ideogram` | ~10s |
| Vector art, icon, flat design | `recraft` | ~8s |
| Anime, stylized illustration | `sdxl` | ~5s |
| Gemini-powered, consistent style | `nano-banana` | ~12s |
---
## How to Generate an Image
### Step 1 — Enhance the prompt
Before calling the script, expand the user's prompt with style, lighting, and quality descriptors appropriate for the chosen model.
- **Midjourney**: Add `cinematic lighting`, `ultra detailed`, `--v 7`, `--style raw`
- **Flux**: Add `masterpiece`, `highly detailed`, `sharp focus`, `professional photography`
- **Ideogram**: Be explicit about text content, font style, and layout
- **Recraft**: Specify `vector illustration`, `flat design`, `icon style`
### Step 2 — Run the script
```bash
node {baseDir}/tools/generate.js \
--model <model_id> \
--prompt "<enhanced prompt>" \
--aspect-ratio <ratio>
```
**All parameters:**
| Parameter | Default | Description |
|---|---|---|
| `--model` | `flux-dev` | Model ID from the table above |
| `--prompt` | *(required)* | The image generation prompt |
| `--aspect-ratio` | `1:1` | `1:1`, `16:9`, `9:16`, `4:3`, `3:4`, `3:2`, `21:9` |
| `--num-images` | `1` | Number of images (1–4; Midjourney always returns 4) |
| `--negative-prompt` | — | Things to avoid (not supported by Midjourney) |
| `--seed` | — | Seed for reproducibility |
### Step 3 — Return the result
The script always waits and returns the final image URL(s). No polling required.
```json
{
"success": true,
"model": "flux-pro",
"imageUrl": "https://...",
"images": ["https://..."]
}
```
Send the `imageUrl` to the user.
---
## Midjourney Actions
After generating a 4-image grid with Midjourney, offer the user these options:
```bash
# Upscale image #2 (subtle, preserves details)
node {baseDir}/tools/generate.js \
--model midjourney \
--action upscale \
--index 2 \
--job-id <job_id>
# Create a strong variation of image #3
node {baseDir}/tools/generate.js \
--model midjourney \
--action variation \
--index 3 \
--job-id <job_id> \
--variation-type 1
# Regenerate with same prompt
node {baseDir}/tools/generate.js \
--model midjourney \
--action reroll \
--job-id <job_id>
```
**Upscale types:** `0` = Subtle (default, best for photos), `1` = Creative (best for illustrations)
**Variation types:** `0` = Subtle (default), `1` = Strong (dramatic changes)
---
## Example Conversations
**User:** "Draw a snow leopard on a snowy mountain with cinematic lighting"
```bash
# Choose midjourney for artistic quality
node {baseDir}/tools/generate.js \
--model midjourney \
--prompt "a majestic snow leopard on a snowy mountain peak, cinematic lighting, dramatic atmosphere, ultra detailed --ar 16:9 --v 7" \
--aspect-ratio 16:9
```
> 🎨 Done! Which one to upscale? (U1-U4) Or create a variant? (V1-V4)
---
**User:** "Use Flux to generate a perfume product poster, white background"
```bash
# Choose flux-pro for photorealistic product shots
node {baseDir}/tools/generate.js \
--model flux-pro \
--prompt "a luxury perfume bottle on a clean white background, professional product photography, soft shadows, 8k, highly detailed" \
--aspect-ratio 3:4
```
---
**User:** "Show me a quick draft"
```bash
# flux-schnell for instant previews
node {baseDir}/tools/generate.js \
--model flux-schnell \
--prompt "..." \
--aspect-ratio 1:1
```
---
**User:** "Make me an App icon, flat style, blue theme"
```bash
# recraft for vector/icon style
node {baseDir}/tools/generate.js \
--model recraft \
--prompt "a minimal flat design app icon, blue color scheme, simple geometric shapes, vector style, white background"
```
---
## Setup
**Zero API keys needed!** All requests go through a hosted proxy that handles authentication server-side.
The skill works out of the box — just install and use.
### Advanced: Custom proxy or token
If you want to use your own proxy or a persistent token, set these environment variables:
```json
{
"skills": {
"entries": {
"videoagent-image-studio": {
"enabled": true,
"env": {
"IMAGE_STUDIO_PROXY_URL": "https://your-proxy.vercel.app",
"IMAGE_STUDIO_TOKEN": "your_token_here"
}
}
}
}
}
```
| Variable | Required | Description |
|---|---|---|
| `IMAGE_STUDIO_PROXY_URL` | No | Custom proxy base URL (default: `https://image-gen-proxy.vercel.app`) |
| `IMAGE_STUDIO_TOKEN` | No | Persistent token (auto-obtained if not set, 100 free uses per token) |
To deploy your own proxy, see the [videoagent-audio-studio proxy](../videoagent-audio-studio/proxy/) as a reference implementation. You'll need `FAL_KEY` and `LEGNEXT_KEY` as Vercel environmentExcerpt, first 6,004 characters of SKILL.md, verbatim from the audited commit. It is text from someone else’s repository, quoted so you can judge it before your agent reads it.
Install
Pinned to the audited commit a72d4da
git clone https://github.com/pexoai/videoagent-image-studio.git npm install npm i -g clawhub
git clone https://github.com/pexoai/pexo-skills git -C pexo-skills checkout a72d4da09420
Commands as the repository documents them: shown, never run by us. Our verdict covers commit a72d4da09420 only.
Works in which agents?
What its own text says, not a test
| Agent | Status | More |
|---|---|---|
| OpenClaw | Mentioned in its text, not tested | Skills for OpenClaw · About OpenClaw |
Audit history
Every audit, every source change
- !CAUTION B 89 / 100
first audit · source
a72d4da09420
README badge
For maintainers · shows the latest audit
[](https://modelsatlas.com/skills/pexoai/videoagent-image-studio/)
The badge shows our verdict and grade for this skill, and links back to this page. It changes when the audit does.
Similar skills
obra/superpowers
Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any success claims; evidence before assertions…
obra/superpowers
Use when you have a spec or requirements for a multi-step task, before touching code
obra/superpowers
Use when starting any conversation - establishes how to find and use skills, requiring skill invocation before ANY response including clarifying questions
Add this badge to your README
[](https://modelsatlas.com/skills/pexoai/videoagent-image-studio/)
<a href="https://modelsatlas.com/skills/pexoai/videoagent-image-studio/"><img src="https://modelsatlas.com/skills/pexoai/videoagent-image-studio/badge.svg" alt="ModelsAtlas: CAUTION B"></a>
Questions about videoagent-image-studio
What does the videoagent-image-studio skill do?
Is videoagent-image-studio safe to install?
What can videoagent-image-studio access on my machine?
Which assistants does videoagent-image-studio work with?
How current is this page?
Sources
- github.com/pexoai/pexo-skills/tree/main/skills/videoagent-image- — the audited source at commit a72d4da09420 and every finding aboveObserved · 26 Oct 2026
Spotted something wrong? Report a correction · Methodology
Keep going in your AI
Opens with this page as the source. We add nothing else to the prompt.
- What does the videoagent-image-studio skill do?
- Is videoagent-image-studio safe to install?
- What can videoagent-image-studio access on my machine?