Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/runapi-ai/midjourney/midjourneynpx skills add runapi-ai/midjourney --skill midjourneygit clone --depth 1 https://github.com/runapi-ai/midjourneyWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/runapi-ai/midjourney/midjourney)<a href="https://agentmods.dev/skills/runapi-ai/midjourney/midjourney"><img src="https://agentmods.dev/badge/skills/runapi-ai/midjourney/midjourney.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00052 | $0.01564 |
| Opus 5 | $0.00026 | $0.00782 |
| Sonnet 5 | $0.00010 | $0.00313 |
| Haiku 4.5 | $0.00005 | $0.00156 |
Grade A, and why
midjourney scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
curl --fail --location https://runapi.ai/docs/api/midjourney/<operation>.md --output contract.md Copies of this mod
1 near-identical copy found in the catalogue:
- gemini-omni — 88% identical, 43 lines differ
How it starts
The opening of the file, as written. The whole thing — 121 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Midjourney on RunAPI
Choose route
- For a one-off artifact or result, use the registered
midjourneyservice in therunapiCLI. If the installed command catalog does not list it, stop and report the missing service instead of inventing a command. - For an app, backend, worker, library, webhook pipeline, or production codebase, go directly to Integrate with SDK. Never shell out to the CLI as the production runtime.
Discover contract
Authenticate, then inspect the installed command catalog and the selected operation's current contract:
runapi auth status > auth.json
jq -e '.authenticated == true' auth.json
runapi midjourney --help
runapi midjourney <operation> --help
curl --fail --location https://runapi.ai/docs/api/midjourney/<operation>.md --output contract.md
If authentication is false, stop before submitting. Ask the user to provide a valid RUNAPI_API_KEY, or import a user-provided key from stdin with runapi auth import-token --token -; use interactive browser login only when the user explicitly requests it. Choose <operation> only from service help. Treat command help as authoritative for the installed operation, model, and top-level field roster. Treat its API Reference as authoritative for the complete request schema, nested fields, conditional rules, task behavior, and response variants. If the two surfaces disagree, stop and report the contract mismatch instead of guessing.
Build request
Create request.json as valid JSON using only fields accepted by the discovered operation contract. For the chosen model and values, evaluate every applicable conditional rule as a set: satisfy every required field, omit every forbidden field, and stop on unresolved contradictions.
Traverse nested objects and arrays before execution. Close every relationship stated by the discovered contract, including uniqueness constraints and cross-references between nested values.
For a discovered local media input, including file-typed fields and top-level media URL fields, put an agent-readable local file path directly in request.json. The CLI consumes file fields as declared and uploads local paths in top-level media URL fields. Use runapi files create only when the user needs a reusable URL, provides Base64, or the discovered contract explicitly requires a separate upload.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 6d ago First seen · 121 lines · 52 tokens per session scan A 7a7e43ff611a
midjourney is a skill published in the GitHub repository runapi-ai/midjourney (1 stars, last pushed 2d ago), licensed Apache-2.0. It adds 52 tokens to every session and 1,564 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
grok-imagine
Generate and edit images and videos with Grok Imagine through RunAPI. Use when the user asks an agent to create, edit, animate, or transform media with Grok Imagine. Default to the RunAPI CLI for one-off generation; use SDKs only when the user is integrating RunAPI into an app or backend.
grok
Call Grok 4.6 through RunAPI Responses only; use Grok 4.3, 4.5, or Grok 4.20 non-reasoning through their verified OpenAI-compatible interfaces. Use for text, streaming, tools, structured output, or an existing compatibility client that needs the conditional reference.
runapi-cli
Install and use the RunAPI CLI for one-off artifacts and results from registered CLI-backed services. Use when the user asks an agent to inspect installed commands, run a supported service, pass JSON request bodies, wait for tasks, or automate a supported RunAPI workflow from the terminal. Use an SDK for app or…
seedance-pipeline
Integrate Seedance 2.0 with ComfyUI nodes and post-processing chains covering upscale, frame interpolation, color grade, composite, and metadata cleanup. Use when building automated video pipelines, connecting Seedance to external tools, or finishing and delivering a generated video clip.
seedance-pipeline
This skill should be used when the user asks about Seedance 2.0 workflow operations, API planning, BytePlus ModelArk, Dreamina/Jimeng surfaces, provider/router APIs, China-facing surfaces, ComfyUI, post-production, stitching, batch workflow, or integration planning.
slides
Create and edit presentation slide decks (.pptx) with PptxGenJS, bundled layout helpers, and render/validation utilities. Use when tasks involve building a new PowerPoint deck, recreating slides from screenshots/PDFs/reference decks, modifying slide content while preserving editable output, adding…