OpenRouter
The robomotion openrouter CLI connects to OpenRouter's unified API gateway providing access to 480+ AI models across providers. It supports text generation, chat completions with history, image generation, streaming responses, reasoning mode, and model listing.
When to use
- Generate text or chat responses using any of 480+ AI models
- Access Claude, GPT, Gemini, Grok, DeepSeek through a single API
- Generate images or use reasoning mode for complex tasks
- Stream responses and manage model selection
Prerequisites
robomotionCLI installed- Package installed:
robomotion install openrouter - OpenRouter API key configured via Robomotion vault
IMPORTANT: Session Mode Required for Multi-Step Operations
Each CLI command runs as a separate process — connection IDs from connect do NOT persist across calls.
You MUST use --session on connect and pass --session-id to all subsequent commands.
Workflow
- Install (once):
robomotion install openrouter - Connect with session:
robomotion openrouter openrouter_connect --session --output json # → {"outClientId":"<client-id>","session_id":"<session-id>"} - Use the returned
client-idandsession-idin all subsequent commands:robomotion openrouter openrouter_generate_text --client-id "<client-id>" --model <model> --prompt <text> --session-id "<session-id>" --output json - Disconnect when done:
robomotion openrouter openrouter_disconnect --client-id "<client-id>" --session-id "<session-id>" --output json
Always append --output json to get structured JSON results.
Commands Reference
robomotion openrouter connect_openrouter --session --output jsonConnect to OpenRouter API and create a client session for accessing 480+ AI modelsrobomotion openrouter generate_text --connection-id --you-are-a-helpful-assistant- --user-prompt [--model] [--custom-model] [--number-of-generations] [--temperature] [--top-p] [--max-tokens] [--stop-sequences] [--reasoning-mode] [--response-schema] [--seed] [--120] --session-id "<session-id>" --output jsonGenerate text using AI models through OpenRouter with support for reasoning mode and structured outputsrobomotion openrouter chat_completion --connection-id --you-are-a-helpful-assistant- --user-prompt --history [--model] [--custom-model] [--number-of-generations] [--temperature] [--top-p] [--max-tokens] [--stop-sequences] [--reasoning-mode] [--response-schema] [--seed] [--120] --session-id "<session-id>" --output jsonGenerate chat responses with conversation history support using AI models through OpenRouterrobomotion openrouter generate_image --connection-id --prompt --reference-images [--model] [--custom-model] [--number-of-images] [--aspect-ratio] [--120] --session-id "<session-id>" --output jsonGenerate images using AI models like Gemini or Flux through OpenRouterrobomotion openrouter get_generation --connection-id --generation-id --session-id "<session-id>" --output jsonRetrieve generation metadata including cost and token usage from OpenRouterrobomotion openrouter get_credits --connection-id --session-id "<session-id>" --output jsonGet OpenRouter account credits balance and usage informationrobomotion openrouter get_current_api_key --connection-id --session-id "<session-id>" --output jsonGet information about the currently authenticated API keyrobomotion openrouter create_api_key --connection-id --name [--limit] [--include-byok-in-limit] --session-id "<session-id>" --output jsonCreate a new API key in OpenRouter (requires Provisioning API key)robomotion openrouter get_api_key --connection-id --hash --session-id "<session-id>" --output jsonGet API key information by hash from OpenRouter (requires Provisioning API key)robomotion openrouter list_api_keys --connection-id [--offset] [--include-disabled] --session-id "<session-id>" --output jsonList all API keys in OpenRouter account (requires Provisioning API key)robomotion openrouter update_api_key --connection-id --hash [--name] [--disabled] [--limit] [--include-byok-in-limit] --session-id "<session-id>" --output jsonUpdate an existing API key in OpenRouter (requires Provisioning API key)robomotion openrouter delete_api_key --connection-id --hash --session-id "<session-id>" --output jsonDelete an API key from OpenRouter (requires Provisioning API key)robomotion openrouter list_models --connection-id [--category-filter] [--rss-format] [--rss-chat-links] --session-id "<session-id>" --output jsonList available AI models from OpenRouter with optional category filteringrobomotion openrouter list_model_endpoints --connection-id --author --slug --session-id "<session-id>" --output jsonList available provider endpoints for a specific AI model on OpenRouterrobomotion openrouter disconnect_openrouter --connection-id --session-id "<session-id>" --output jsonDisconnect from OpenRouter API and release the client session
Environment
- ROBOMOTION_API_TOKEN (if vault credentials are needed)