> ## Documentation Index
> Fetch the complete documentation index at: https://docs.guild.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Moonshot AI

> Use Kimi models from Moonshot AI in your Guild agents: supported models, inference providers, setup, and agent code.

Guild supports Kimi models from Moonshot AI. This page lists the models Guild recognizes, the inference providers that serve them, and how to call them from an agent.

| | |
| - | - |
| Name under **Models** in the credential form | Moonshot AI |
| `provider` in `llmPreferences` | `"moonshot"` |
| Default model | `kimi-k2.5` |
| Managed access | No. Add your own credential (BYOK). |

## Inference providers

Moonshot AI models are served only through third-party inference providers, not a Moonshot AI API.

| Provider | Notes |
| - | - |
| [AWS Bedrock](/platform/providers/aws-bedrock) | Serves `kimi-k3` in all four US regions, and `kimi-k2.5` and `kimi-k2-thinking` except in `us-west-1`. |
| [OpenRouter](/platform/providers/openrouter) | Served under OpenRouter's `moonshotai/` namespace. |
| [Fireworks AI](/platform/providers/fireworks) | Serves `kimi-k3` only. |

Write the canonical model name, such as `kimi-k2.5`, everywhere in Guild. Guild maps it to each provider's own model ID.

## Models

Guild prices and recognizes these Moonshot AI model IDs. A policy or preference can also name any other model your credential can reach. Third-party providers route more models than this list, and their catalogs change; see each provider's page for what it serves.

| Model | Notes |
| - | - |
| `kimi-k2.5` | The default. |
| `kimi-k2-thinking` | A reasoning model. |
| `kimi-k3` | Served by Fireworks AI. |

## Set up Moonshot AI

Guild has no managed key for Moonshot AI. To use Moonshot AI models, add a credential for a provider that serves them. Adding your first credential switches the whole account to bring your own key (BYOK).

<Steps>
  <Step title="Open Models & providers">Click **Access & setup** in the left nav, then **Models & providers**. In an organization, only admins can open it.</Step>
  <Step title="Add a credential">Click **Add API key** and choose an inference provider from the table above.</Step>
  <Step title="Enter the provider's secret">Give the credential a **Name** and paste your provider's **API key**. [AWS Bedrock](/platform/providers/aws-bedrock) asks for an IAM role and region instead.</Step>
  <Step title="Choose Moonshot AI">Under **Models**, check **Moonshot AI**. Keep `kimi-k2.5` as its default model or enter another from the list above. Then click **Add Key**. On [Fireworks AI](/platform/providers/fireworks), pick a model from its list, because the pre-filled default isn't available there.</Step>
</Steps>

To control which workspaces and agents can use Moonshot AI models, add a [model policy](/platform/llm-settings#model-policies) for the credential. For example, `--models "kimi-*"` limits a policy to matching models:

```bash theme={null}
guild llm policy create --credential <credential-id> --publisher MOONSHOT --target-id <workspace-or-agent-id> --models "kimi-*"
```

## Use it from an agent

Agent code never names a credential. Guild resolves the call against the workspace owner's settings. To ask for Moonshot AI explicitly, put it in `llmPreferences`:

```typescript theme={null}
const result = await task.llm.generateText({
  prompt: "Summarize this text...",
  llmPreferences: [
    { provider: "moonshot", model: "kimi-k2-thinking" },
    { provider: "moonshot" },
  ],
})
```

The first entry asks for `kimi-k2-thinking`. The second falls back to the default model of the matching policy. Preferences are strict: if no credential or policy allows any of them, the call fails rather than using another publisher. See [LLM preferences](/guide/llms#llm-preferences).

<Note>The `"moonshot"` provider value needs `@guildai/agents-sdk` 0.7.6 or later.</Note>

## Related pages

* [Models & providers](/platform/llm-settings) for credentials, model policies, and the daily token limit
* [LLMs](/guide/llms) for `task.llm` and the unified LLM proxy
* [Usage](/insights/usage) for spend by model
