Loading...
Loading...
AnyCap CLI -- capability runtime for AI agents. One CLI for image generation, image read, video analysis, audio analysis, music composition, text-to-speech, web search, web crawling, file download, static site hosting, and cloud file storage. Use when the agent needs to generate images, analyze images, video, or audio, produce audio/music, search or crawl the web, download remote files, deploy static sites, or store and share files. Also use when the agent needs to authenticate with AnyCap (login, API key, credentials), or when encountering errors from AnyCap to submit feedback via 'anycap feedback'. Trigger on mentions of AnyCap, multimodal capabilities, AI-generated media, page hosting, or drive storage.
npx skill4agent add anycap-ai/anycap anycap-clicurl -fsSL https://anycap.ai/install.sh | shanycap updateanycap status# Interactive (default) -- opens browser
anycap login
# Headless (SSH, containers) -- device code flow
anycap login --headless
# Headless for agent/toolcall runtimes -- initialize without blocking
anycap login --headless --no-wait --json
# Resume a previously initialized headless login after the user confirms completion
anycap login poll --session <login_session_id> --json --wait
# CI/CD -- pipe API key from stdin
echo "$ANYCAP_API_KEY" | anycap login --with-tokenANYCAP_API_KEYloginanycap login --headless --no-wait --jsonverification_uriuser_codepoll_commandnext_action_hintpoll_commandanycap status~/.anycap/config.tomlanycap configanycap config show # show all values
anycap config set <key> <val> # set a value
anycap config get <key> # get a value
anycap config unset <key> # reset to defaultendpointauto_updatefeedbackgenerateedit1. Discover models anycap {cap} models
2. Check schema anycap {cap} models <model> schema [--operation <op>] [--mode <mode>]
3. Run operation anycap {cap} {operation} --model <model> [--mode <mode>] --prompt "..."text-to-imageimage-to-image-o-o hero-banner.png# Instead of constructing a JSON URL array:
# --param images='["https://example.com/photo.jpg"]'
# Just pass the local path:
--param images=/path/to/photo.png| Capability | Reference | Operations | Typical duration |
|---|---|---|---|
| Image | generation.md | | 5-30s |
| Video | video-generation.md | | 30-120s |
| Music | music-generation.md | | 30-90s |
.outputs[0].local_pathanycap feedback --type featureanycap download <url> [-o path]# Quick deploy (writes anycap.toml for future deploys)
anycap page deploy ./dist --name "My Site" --publish
# Subsequent deploys read site from anycap.toml
anycap page deploy ./dist --publishanycap drive upload result.pdf --parent-path /reports
anycap drive share --src-path /reports/result.pdfanycap config set feedback falsefeedback = false~/.anycap/config.tomlanycap feedback --type bug -m "image generate returned 500 for prompt X" --request-id <id>
anycap feedback --type feature -m "support batch image generation"
anycap feedback --type other -m "schema for model Y is missing aspect_ratio"| Flag | Required | Description |
|---|---|---|
| yes | |
| yes | Description of the issue or idea |
| no | Request ID from a previous command (found in JSON output) |
| no | Additional context as JSON |
request_idrequest_id{"status": "success", "data": {...}, "request_id": "req_abc123"}{"error": "...", "message": "...", "hint": "...", "request_id": "req_abc123"}request_idjq# Check if a command succeeded
anycap status | jq -r '.status'
# List available model IDs
anycap image models | jq -r '.models[].model'
# List modes for a model
anycap video models seedance-1.5-pro | jq -r '.model.operations[].modes[].mode'
# Get the local file path from a generate response (use -o for a descriptive name)
anycap image generate --prompt "..." --model nano-banana-2 -o descriptive-name.png | jq -r '.local_path'
# Edit an existing image
anycap image edit --prompt "remove the background" --model seedream-5 --param images=./photo.png -o edited.png | jq -r '.local_path'
# Generate a video (text-to-video, mode inferred) and get its path
anycap video generate --prompt "..." --model veo-3.1 -o clip.mp4 | jq -r '.local_path'
# Generate a video with explicit mode (image-to-video, local file auto-uploaded)
anycap video generate --prompt "animate this" --model seedance-1.5-pro --mode image-to-video --param images=./photo.jpg -o animated.mp4 | jq -r '.local_path'
# Generate music and get the first audio path
anycap music generate --prompt "..." --model suno-v5 -o track.mp3 | jq -r '.outputs[0].local_path'
# Extract content from an action response
anycap actions image-read --url https://example.com/photo.jpg | jq -r '.content'
# Get the error message on failure
anycap ... | jq -r '.message // empty'
# Save request_id for feedback
REQ_ID=$(anycap image generate --prompt "..." --model seedream-5 | jq -r '.request_id')
anycap feedback --type bug -m "describe the issue" --request-id "$REQ_ID"| Pattern | Purpose |
|---|---|
| Extract a string field (raw, no quotes) |
| Get downloaded file path from generate |
| List all values of a field in an array |
| Check condition (exit code 1 if false) |
| Extract error message if present |
npx -y skills checknpx -y skills updatenpx -y skills add anycap-ai/anycap -yanycap skill check --target <path-to-this-file>