# Kubeez REST API > Public HTTP API for AI media generation: image, video, music, speech, captions, audio separation, and ad creatives. Authenticate with API keys (sk_live_...). Same models, capabilities, and billing as the web app and the MCP server. ## Documentation - [Interactive API reference](https://api.kubeez.com/docs): browseable model cards with capabilities, parameters, pricing, and curl examples per model. - [Live model catalog (JSON)](https://api.kubeez.com/docs/models.json): machine-readable list of every available model, capabilities, and pricing. ## Endpoints - `POST https://api.kubeez.com/v1/generate/media`: start an image or video generation - `POST https://api.kubeez.com/v1/generate/music`: start a music generation - `POST https://api.kubeez.com/v1/generate/dialogue`: multi-speaker TTS / dialogue - `POST https://api.kubeez.com/v1/generate/captions`: transcribe a video into word-level timestamped captions - `POST https://api.kubeez.com/v1/generate/separation`: split an audio track into vocals + instrumental - `POST https://api.kubeez.com/v1/generate/ad-copy`: generate ad creatives from a reference ad - `POST https://api.kubeez.com/v1/upload/media`: upload reference files (multipart, max 500MB) - `GET https://api.kubeez.com/v1/assets`: list the user's persistent asset library (named, reusable images / videos / audio) - `POST https://api.kubeez.com/v1/assets`: save a remote URL into the asset library (default 250MB total quota, 500MB per file) - `PATCH https://api.kubeez.com/v1/assets/{id}`: rename an asset - `DELETE https://api.kubeez.com/v1/assets/{id}`: delete an asset - `GET https://api.kubeez.com/v1/models`: live model catalog with capabilities and pricing - `GET https://api.kubeez.com/v1/balance`: check credit balance - `GET https://api.kubeez.com/v1/generations`: list the user's recent generations - `GET https://api.kubeez.com/v1/generate/media/{id}`: poll a media generation - `GET https://api.kubeez.com/v1/generate/music/{id}`: poll music generation - `GET https://api.kubeez.com/v1/generate/separation/{id}`: poll a separation job ## Auth Every request needs `X-API-Key: sk_live_...` (or `Authorization: Bearer sk_live_...`). Keys are scoped: `generate:media`, `generate:music`, `generate:speech`, `generate:ads`, `read:balance`, `read:generations`. Create a key at https://kubeez.com/settings/api-keys. ## Related - [MCP server](https://mcp.kubeez.com/docs): same models exposed as MCP tools for Claude Desktop, Cursor, and any MCP-compatible client.