Use every AI model from your agent or terminal.
OttoPort ships a Claude Code plugin, a Model Context Protocol server, and a lightweight CLI so Claude Code, Codex, Cursor, Hermes, scripts, and CI jobs can call the same GPT, Claude, Gemini, image, video, speech, and music models behind one API key.
export OTTOPORT_API_KEY=op-...
ottoport models --modality video
ottoport chat "summarize this in one sentence" --model claude-sonnet-5
ottoport image "product photo of a chrome torus" --model gpt-image-2
ottoport video "cinematic product reveal, black background" --model kling-3.0
ottoport speech "Welcome to OttoPort" --voice alloy --out welcome.mp3
ottoport music "lo-fi focus beat" --duration 20 --out focus.mp3
ottoport mcp
ottoport install codexAgent-native
One plugin for Claude Code; MCP tools everywhere else — Codex, Cursor, Hermes, any MCP client.
Scriptable
Use the CLI in shell scripts, CI jobs, dataset generation, and content pipelines.
One key
Use the same OttoPort API key for LLM, image, and video workloads.
Connect OttoPort to your coding agent.
Add OttoPort as an MCP server and your agent can list models, compare pricing, call chat models, and trigger image or video generation tools.
{
"mcpServers": {
"ottoport": {
"command": "npx",
"args": ["-y", "ottoport", "mcp"],
"env": {
"OTTOPORT_API_KEY": "op-..."
}
}
}
}ottoport_list_modelsDiscover chat, image, and video models with provider and pricing metadata.
ottoport_chatCall GPT, Claude, and Gemini models from any MCP-compatible agent.
ottoport_generate_imageGenerate or edit images with GPT Image and Nano Banana models.
ottoport_generate_videoGenerate videos with Veo, Kling, Seedance, and Gemini video models.
ottoport_video_webhookCheck a video job's webhook deliveries, or redeliver a finished one.
ottoport_generate_speechSynthesize speech with OpenAI, ElevenLabs, or Gemini voice models.
ottoport_generate_musicGenerate music through the deployment's configured music gateway.
ottoport_list_collectionsList the project's collections and whether the account can save. Every generate tool takes `collection` to keep its results for good.
ottoport_upload_fileUpload a local file to use as a model input, and optionally keep it in a collection.
Or install all of it at once.
The Claude Code plugin bundles the MCP server, the OttoPort skill, and a set of slash commands, so there is nothing to configure by hand. Set OTTOPORT_API_KEY in your shell and the tools are live in the next session.
/plugin marketplace add https://ottoport.ai/plugin/marketplace.json
/plugin install ottoport@ottoport/ottoport:modelsBrowse the catalog with live pricing.
/ottoport:chatSend a prompt to any chat model.
/ottoport:imageGenerate or edit an image.
/ottoport:videoSubmit a video job and wait for the URL.
/ottoport:speechRead text aloud, or generate music.
/ottoport:setupCheck the key, gateway, and MCP tools.
npx ottoport install codex # or claude, hermes, cursor, windsurf, claude-desktopOnly Claude Code has a plugin format. Everywhere else the installer registers the MCP server — and, where the host reads one, the OttoPort skill — by writing that agent's own config. Your key is forwarded from the environment, never written to disk.
Run models from the terminal.
The CLI mirrors the public API: list models, call chat completions, generate images, submit video jobs, and synthesize audio without writing boilerplate.
npm install -g ottoport
export OTTOPORT_API_KEY=op-...
ottoport models --modality video
ottoport chat "summarize this in one sentence" --model claude-sonnet-5
ottoport image "product photo of a chrome torus" --model gpt-image-2
ottoport video "cinematic product reveal, black background" --model kling-3.0
ottoport speech "Welcome to OttoPort" --voice alloy --out welcome.mp3
ottoport music "lo-fi focus beat" --duration 20 --out focus.mp3
ottoport mcp
ottoport install codexBuild with HTTP, SDKs, MCP, or CLI.
Start in the playground, automate in the terminal, then wire the same model IDs into your app.