# MoonshotAI models on GPTProto > One GPTProto API key covers every model listed below. Text models share an OpenAI-compatible API — swap the `model` id. Image / video / audio models use a submit-and-poll API; follow each model's own llms.txt. ## Overview - **Models**: 3 - **Vendor**: MoonshotAI - **Base URL**: `https://gptproto.com/v1` - **Provider page**: https://gptproto.com/model/moonshotai ## Authentication Every request needs a GPTProto API key in the `Authorization` header. Create one at https://gptproto.com/dashboard/api-key, then export it: ```bash export GPTPROTO_API_KEY="your-api-key" ``` Header: `Authorization: Bearer $GPTPROTO_API_KEY`. Use `base_url` `https://gptproto.com/v1` with any OpenAI-compatible SDK. ## Text models Call these with the OpenAI-compatible Chat Completions (or Responses / Messages / Gemini) endpoints. Change only the `model` field. | Model ID | Name | Context | Input / 1M | Output / 1M | Guide | | --- | --- | --- | --- | --- | --- | | `kimi-k3` | Kimi K3 | 1.05M | $2.7 | $13.5 | [llms.txt](https://gptproto.com/model/moonshotai/kimi-k3/llms.txt) | | `kimi-k2.6` | Kimi K2.6 | 262K | $0.855 | $3.6 | [llms.txt](https://gptproto.com/model/moonshotai/kimi-k2.6/llms.txt) | | `kimi-k2.5` | Kimi K2.5 | 262K | $0.54 | $2.7 | [llms.txt](https://gptproto.com/model/moonshotai/kimi-k2.5/llms.txt) | ## Usage example The snippets below call `kimi-k3`. For any other text model in the table, keep the same request and change `"model"`. ```bash curl --request POST "https://gptproto.com/v1/chat/completions" \ --header "Authorization: Bearer $GPTPROTO_API_KEY" \ --header "Content-Type: application/json" \ --data '{ "model": "kimi-k3", "messages": [ { "role": "user", "content": "Hello" } ] }' ``` ```python import os import requests url = "https://gptproto.com/v1/chat/completions" headers = { "Authorization": f"Bearer {os.environ['GPTPROTO_API_KEY']}", "Content-Type": "application/json" } payload = { "model": "kimi-k3", "messages": [ { "role": "user", "content": "Hello" } ] } response = requests.request("POST", url, headers=headers, json=payload) print(response.json()) ``` ```typescript const response = await fetch("https://gptproto.com/v1/chat/completions", { method: "POST", headers: { "Authorization": `Bearer ${process.env.GPTPROTO_API_KEY}`, "Content-Type": "application/json", }, body: JSON.stringify({ model: "kimi-k3", messages: [ { role: "user", content: "Hello", }, ], }), }); const data = await response.json(); console.log(data); ``` ## Additional resources - [Provider page](https://gptproto.com/model/moonshotai) - [All models](https://gptproto.com/model) - [API keys](https://gptproto.com/dashboard/api-key) - [Platform overview for LLMs](https://gptproto.com/llm-full.txt) - Per-model guide: `https://gptproto.com/model/{vendor}/{model}/llms.txt`