Kimi K31 Pro Think beyond text.

Try Kimi K31 Pro
← All models

Moonshot AI · OpenRouter / Multimodal chat

Kimi K31 Pro

A focused multimodal model for text, images, video and transcribed audio. Explore capabilities, usage pricing and API examples.

moonshotai/kimi-k3.1-pro
Supported inputs
Text inputImage inputVideo inputAudio input
Generated output
Text output

Provider context

1,048,576

Tokens across input and output

Max response

8,192

Output tokens per request on this service

Input

$2.86

USD per million tokens

Output

$14.29

USD per million tokens

Understand mixed media in one conversation

Meet Kimi K31 Pro, your workspace for clear thinking across words, images and spoken ideas. Explore the Moonshot AI model in a focused playground, then bring it into your product through one API. Audio is transcribed before Kimi inference. Transcription costs are included in billing.

Service limits

This relay accepts up to 40 messages and 256 KiB of text per request. Attach up to 8 files, with 4 MiB per embedded file and 8 MiB combined. The service caps each response at 8192 tokens. Provider context length and service upload limits apply separately.

Input, cache and output pricing

USD and credits per million tokens

Input, cache and output pricing · USD and credits per million tokens
UsageOpenRouterPlatform pricePlatform credits
Input$2.00$2.8628,600
Cache read$0.20$0.292,900
Output$10.00$14.29142,900

Input, cached input and output are charged at their respective rates. Each chat turn includes the previous messages you send. Credits are reserved before a request and settled against the cost reported by OpenRouter, with a minimum of 1 credit per successful request. 10000 credits = $1.

View published pricing on OpenRouter

Integrate with the chat API

Send requests to /v1/chat/completions with your account API key and model ID moonshotai/kimi-k3.1-pro. Use a string for text or an array of content parts to combine media. Each example below is a complete request.

Manage API keys

The current relay returns a complete response with stream: false. The examples use a 256-token output limit. Replace YOUR_API_KEY and any sample media URLs or base64 data before calling.

Text input

Send a plain text message with the same model ID used in the playground.

curl https://k31.pro/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "moonshotai/kimi-k3.1-pro",
  "messages": [
    {
      "role": "user",
      "content": "Summarize the key points of this message."
    }
  ],
  "max_completion_tokens": 256,
  "stream": false
}'
Image input

Use image_url for a public HTTPS image URL or a base64 data URL. Supported embedded images: PNG, JPEG and WebP.

curl https://k31.pro/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "moonshotai/kimi-k3.1-pro",
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "Describe this image."
        },
        {
          "type": "image_url",
          "image_url": {
            "url": "https://example.com/image.jpg"
          }
        }
      ]
    }
  ],
  "max_completion_tokens": 256,
  "stream": false
}'
Video input

Use video_url for a public HTTPS video URL or a base64 data URL. Supported embedded video: MP4, MPEG, MOV and WebM.

curl https://k31.pro/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "moonshotai/kimi-k3.1-pro",
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "Summarize the events in this clip."
        },
        {
          "type": "video_url",
          "video_url": {
            "url": "https://example.com/video.mp4"
          }
        }
      ]
    }
  ],
  "max_completion_tokens": 256,
  "stream": false
}'
Audio input

Use input_audio with the recording’s base64 data and format. Do not include a data URL prefix in the data field.

curl https://k31.pro/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "moonshotai/kimi-k3.1-pro",
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "Summarize this recording."
        },
        {
          "type": "input_audio",
          "input_audio": {
            "data": "BASE64_AUDIO_DATA",
            "format": "wav"
          }
        }
      ]
    }
  ],
  "max_completion_tokens": 256,
  "stream": false
}'

Kimi K31 Pro Playground

Sign in to chat with this model. Add your text or media and inspect token usage and charged credits after each response.

Kimi K31 Pro

moonshotai/kimi-k3.1-pro

What would you like to understand?

Audio is transcribed before Kimi inference. Transcription costs are included in billing.

Let the model reason before answering. Thinking tokens count toward output usage and cost; higher effort may take longer.

Output is capped to fit your balance. The default 64-token limit is for short replies; increase it for longer answers.

Images, video & audio · 4 MiB per file · 8 MiB total · 8 files per conversationAudio is transcribed before Kimi inference. Transcription costs are included in billing.