runware-run
Skill8 starsChanged 5 months agoMITView on GitHub
How to actually call the Runware API correctly for any task - inspect the model's schema, send the right fields, run synchronously for images or asynchronously for video/audio/3D, and read the result. Load this whenever an agent is about to make a real Runware generation call. Foundation skill that every outcome skill builds on.
In this repository32 other files it gives its agents.
- add-audio-to-videoSkill
- animate-imageSkill
- bring-your-own-modelSkill
- character-consistencySkill
- cinematic-videoSkill
- composite-sceneSkill
- controlled-generationSkill
- dialogue-audioSkill
- edit-imageSkill
- edit-videoSkill
- game-assets-2dSkill
- image-to-3d-assetSkill
- llm-agentSkill
- logos-and-vectorsSkill
- multi-shot-videoSkill
- musicSkill
- photoreal-stillsSkill
- product-ad-videoSkill
- product-photographySkill
- reframe-videoSkill
- replace-in-videoSkill
- restore-and-upscaleSkill
- runware-modelsSkill
- runware-promptingSkill
- talking-avatarSkill
- text-in-imageSkill
- train-style-modelSkill
- ugc-adSkill
- video-upscaleSkill
- vision-understandingSkill
- voice-cloningSkill
- voiceoverSkill
The file
We split this skill into the rules it gives an agent
1 rule. About 0 are common, 0 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 27
Dry-run first when uncertain: Add the header X-Runware-Dry-Run: 1 to validate a request and get its cost without executing or being charged.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Running a Runware task
Runware exposes one request shape across every modality: you send a task with a taskType, a model (the AIR), and the parameters that model's schema allows. This skill is the execution contract. Outcome skills decide what to run; this skill is how to run it without guessing.
The contract (follow in order)
- Pick the model + taskType. Get the model from
runware-models(live lookup). ThetaskTypeusually follows the modality:imageInferencefor images,videoInferencefor video,audioInferencefor audio,3dInferencefor 3D,textInferencefor LLMs,modelUploadfor custom models. But it is a fixed constant declared in each model's own schema, not a modality-level default you can assume - several image models take their own type instead: upscalers useupscale, vectorizers usevectorize, background removers useremoveBackground. Edit, inpaint, fill and try-on models stayimageInferencewith a reference image added. Check the model's schema when it is not a plain text-to-X call. A just-launched model not yet in the SDK registry throws "Unknown model" - passtaskTypeexplicitly to bypass that. - Inspect the schema before calling. Resolve the model's JSON Schema (the SDK and MCP do this for you). Use only fields the schema allows, and mirror its field names exactly. Never invent or guess parameter names - if it's not in the schema, it does not exist.
- Provide inputs as URLs or base64. Local files get uploaded first (the SDK/MCP have an upload step). Reference images, source video, audio, masks all go under the model's documented input fields.
- Run with the right delivery mode:
- Images / fast tasks → synchronous. The call returns the finished result.
- Video / audio / 3D / training → asynchronous. The task returns a
taskUUID; pollgetResponseuntil it reports terminal. Don't block a single sync call on a minutes-long job.
- Read the result. Images return image URLs; video returns
videoURL; 3D returns files underoutputs.files[].url. Check the modality's result shape, don't assume.
Cost discipline
- Dry-run first when uncertain. Add the header
X-Runware-Dry-Run: 1to validate a request and get its cost without executing or being charged. Safe even for destructive task types. Use it to confirm the schema gate and the price before a real run. - Set
includeCost: trueto get the real cost back on a live run.
Identity
- Models are addressed by AIR (e.g.
bfl:7@1,google:3@2,runware:400@2). Slugs also resolve and are the future-canonical form. Communicate AIRs in calls. - Account-owned / test models use the
runwaresource (e.g.runware:sdk_test@1).
Surfaces
The same contract holds whether the agent drives the TypeScript SDK (@runware/sdk), the Python SDK (runware), the MCP tools, or the CLI. Prefer the SDK/MCP - they handle schema resolution, upload, and async polling for you. For LLM/text models, Runware also exposes an OpenAI-compatible endpoint at api.runware.ai/v1.
Quality bar
- The request used only schema-valid fields (verified, not assumed).
- Time-based tasks were run async and polled, not blocked on a sync call.
- Cost was known (dry-run or
includeCost) before committing to a batch.
Related skills
runware-models (pick the model), runware-prompting (write the prompt), and every outcome skill (they specialize this contract).
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

