{"skill":{"slug":"crazyrouter-ocr","displayName":"Crazyrouter Ocr","summary":"Image-to-text and OCR via Crazyrouter API using vision models (GPT-4o, Gemini, Claude). Extract text from images, describe images, analyze screenshots. Use w...","description":"---\nname: crazyrouter-ocr\ndescription: Image-to-text and OCR via Crazyrouter API using vision models (GPT-4o, Gemini, Claude). Extract text from images, describe images, analyze screenshots. Use when user asks to read text from image, describe what's in an image, or analyze a screenshot. Requires environment variable CRAZYROUTER_API_KEY (get at https://crazyrouter.com).\n---\n\n# Image Analysis & OCR via Crazyrouter\n\nAnalyze images, extract text, and describe visual content using vision models through [Crazyrouter](https://crazyrouter.com).\n\n## Script Directory\n\n**Agent Execution**:\n1. `SKILL_DIR` = this SKILL.md file's directory\n2. Script path = `${SKILL_DIR}/scripts/main.mjs`\n\n## Step 0: Check API Key ⛔ BLOCKING\n\n```bash\n[ -n \"${CRAZYROUTER_API_KEY}\" ] && echo \"key_present\" || echo \"not_set\"\n```\n\n| Result | Action |\n|--------|--------|\n| `key_present` | Continue |\n| `not_set` | Ask user to set `CRAZYROUTER_API_KEY`. Get key at https://crazyrouter.com |\n\n## Usage\n\n```bash\n# Describe image\nnode ${SKILL_DIR}/scripts/main.mjs --image photo.jpg --prompt \"Describe this image\"\n\n# Extract text (OCR)\nnode ${SKILL_DIR}/scripts/main.mjs --image receipt.png --prompt \"Extract all text from this image\"\n\n# Analyze screenshot\nnode ${SKILL_DIR}/scripts/main.mjs --image screenshot.png --prompt \"What errors are shown in this screenshot?\"\n\n# Use specific model\nnode ${SKILL_DIR}/scripts/main.mjs --image chart.png --prompt \"Analyze this chart\" --model gemini-2.5-flash\n\n# Save output\nnode ${SKILL_DIR}/scripts/main.mjs --image document.jpg --prompt \"Extract text\" --output text.md\n```\n\n### Options\n\n| Option | Description | Default |\n|--------|-------------|---------|\n| `--image <path>` | Image file (required) | — |\n| `--prompt <text>` | What to do with the image | `Describe this image in detail` |\n| `--model <id>` | Vision model | `gpt-4o` |\n| `--output <file>` | Save to file | stdout |\n","topics":["OCR"],"tags":{"latest":"1.1.0"},"stats":{"comments":0,"downloads":321,"installsAllTime":12,"installsCurrent":1,"stars":0,"versions":4},"createdAt":1773144516472,"updatedAt":1778491807445},"latestVersion":{"version":"1.1.0","createdAt":1773148007903,"changelog":"Security fix: replaced npx -y tsx with native node .mjs scripts. Declared CRAZYROUTER_API_KEY credential in manifest.","license":"MIT-0"},"metadata":null,"owner":{"handle":"xujfcn","userId":"s1701jf4dbndgb8mkhg5pqwsqs8843yj","displayName":"xujfcn","image":"https://avatars.githubusercontent.com/u/7953794?v=4"},"moderation":null}