AIREITER

AI Image

Grok Imagine Image 2.0Midjourney V8.1Midjourney V7Z-Image TurboKrea 2 TurboSeedream 5.0 Pro LayerizeQwen Image 3.0 ProMore

AI Video

HappyHorse 1.0HappyHorse 1.1Gemini Omni FlashFLUX 3 VideoVeo 3.1Veo 3.1 FastSeedance 2.0 Fast FaceMore

LLM

MiniMax M3GLM 5.2Doubao Seed 2.1 TurboKimi K2.7 CodeDeepSeek V4 FlashDeepSeek V4 ProClaude Opus 5More
Coming soonaa
API DOCSPRICING
TEMPLATES
anthropicText Chat

Claude Opus 5 AI Chat Playground and API

Try Claude Opus 5 online for complex reasoning, demanding coding work, and multi-step analysis. Compare live token pricing and move the same model into your API workflow.

InputAIReiter $6.98 per 1M tokensOutputAIReiter $34.89 per 1M tokensCache readAIReiter $0.70 per 1M tokensCache creationAIReiter $8.73 per 1M tokens
Run with API
PlaygroundReadmeAPI

INPUT

imagefile[]
Optional input images sent alongside the prompt. Up to 5 files. Images are billed as input tokens.
Let the model reason before answering. The model decides how much thinking each request needs.Default: false
1
2
3
4
5
6
7
8
9
10
11
12
13

Install the official Anthropic client — AIReiter speaks the same protocol, so only the base URL changes:

npm install @anthropic-ai/sdk

Set the AIREITER_API_KEY environment variable:

export AIREITER_API_KEY=<paste-your-key-here>

Point the client at AIReiter:

import Anthropic from "@anthropic-ai/sdk";

const client = new Anthropic({
  apiKey: process.env.AIREITER_API_KEY,
  baseURL: "https://aireiter.com/api",
});

Run claude-opus-5:

const message = await client.messages.create({
    "model": "claude-opus-5",
    "max_tokens": 4096,
    "messages": [
      {
        "role": "user",
        "content": "Explain what an API rate limit is and how to handle a 429 response in code."
      }
    ],
    "output_config": {
      "effort": "high"
    }
  });

console.log(message.content);

Stream the response instead:

const stream = client.messages.stream({
    "model": "claude-opus-5",
    "max_tokens": 4096,
    "messages": [
      {
        "role": "user",
        "content": "Explain what an API rate limit is and how to handle a 429 response in code."
      }
    ],
    "output_config": {
      "effort": "high"
    }
  });

stream.on("text", (text) => process.stdout.write(text));
const message = await stream.finalMessage();

Install the official Anthropic client — AIReiter speaks the same protocol, so only the base URL changes:

pip install anthropic

Set the AIREITER_API_KEY environment variable:

export AIREITER_API_KEY=<paste-your-key-here>

Point the client at AIReiter:

import os
import anthropic

client = anthropic.Anthropic(
    api_key=os.environ["AIREITER_API_KEY"],
    base_url="https://aireiter.com/api",
)

Run claude-opus-5:

message = client.messages.create(
      model = "claude-opus-5",
      max_tokens = 4096,
      messages = [
        {
          role = "user",
          content = "Explain what an API rate limit is and how to handle a 429 response in code."
        }
      ],
      output_config = {
        effort = "high"
      }
)

print(message.content)

Stream the response instead:

with client.messages.stream(
      model = "claude-opus-5",
      max_tokens = 4096,
      messages = [
        {
          role = "user",
          content = "Explain what an API rate limit is and how to handle a 429 response in code."
        }
      ],
      output_config = {
        effort = "high"
      }
) as stream:
    for text in stream.text_stream:
        print(text, end="", flush=True)

Set the AIREITER_API_KEY environment variable:

export AIREITER_API_KEY=<paste-your-key-here>

Run claude-opus-5 against AIReiter's API:

curl -s -X POST \
  -H "x-api-key: $AIREITER_API_KEY" \
  -H "Content-Type: application/json" \
  "https://aireiter.com/api/v1/messages" \
  -d '{
  "model": "claude-opus-5",
  "max_tokens": 4096,
  "messages": [
    {
      "role": "user",
      "content": "Explain what an API rate limit is and how to handle a 429 response in code."
    }
  ],
  "output_config": {
    "effort": "high"
  }
}'

Add "stream": true to the body to receive the response as server-sent events.

OUTPUT

Example

A rate limit caps how many requests an API accepts from you in a given window. Once you exceed it, the server stops doing work for you and answers 429 Too Many Requests instead.

Handling 429

  1. Read the Retry-After response header. When present it tells you exactly how long to wait, in seconds.
  2. When it is absent, back off exponentially with jitter so retries from many clients do not line up.
  3. Cap the number of retries, then surface the failure instead of looping forever.
async function withRetry(request, maxRetries = 4) {
  for (let attempt = 0; ; attempt++) {
    const response = await request();
    if (response.status !== 429 || attempt === maxRetries) return response;
    const retryAfter = Number(response.headers.get("retry-after"));
    const backoff = Number.isFinite(retryAfter) ? retryAfter * 1000 : 2 ** attempt * 500 + Math.random() * 250;
    await new Promise((resolve) => setTimeout(resolve, backoff));
  }
}

Treat the limit as a budget you plan around, not an error you retry your way out of: batch requests where you can, cache repeated reads, and spread bulk work over time.

{
  "model": "claude-opus-5",
  "input": {
    "model": "claude-opus-5",
    "max_tokens": 4096,
    "messages": [
      {
        "role": "user",
        "content": "Explain what an API rate limit is and how to handle a 429 response in code."
      }
    ],
    "output_config": {
      "effort": "high"
    }
  },
  "output": "A rate limit caps how many requests an API accepts from you in a given window. Once you exceed it, the server stops doing work for you and answers **429 Too Many Requests** instead.\n\n## Handling 429\n\n1. Read the `Retry-After` response header. When present it tells you exactly how long to wait, in seconds.\n2. When it is absent, back off exponentially with jitter so retries from many clients do not line up.\n3. Cap the number of retries, then surface the failure instead of looping forever.\n\n```js\nasync function withRetry(request, maxRetries = 4) {\n  for (let attempt = 0; ; attempt++) {\n    const response = await request();\n    if (response.status !== 429 || attempt === maxRetries) return response;\n    const retryAfter = Number(response.headers.get(\"retry-after\"));\n    const backoff = Number.isFinite(retryAfter) ? retryAfter * 1000 : 2 ** attempt * 500 + Math.random() * 250;\n    await new Promise((resolve) => setTimeout(resolve, backoff));\n  }\n}\n```\n\nTreat the limit as a budget you plan around, not an error you retry your way out of: batch requests where you can, cache repeated reads, and spread bulk work over time.",
  "metrics": {
    "input_tokens": 26,
    "output_tokens": 214,
    "generated_in_seconds": 4.1
  },
  "example": true
}
Generated in
4.1 seconds
Input tokens
26
Output tokens
214
Tokens per second
52.20 tokens / second
Time to first token
-

Model details

Use the same model key in Playground, API requests, and internal workflows.

Model ID
claude-opus-5
Provider
anthropic
Protocol
Anthropic Messages
Context window
-
Max output
-
Input tokens
698 credits / 1M tokens
Output tokens
3,489 credits / 1M tokens
Cache read
70 credits / 1M tokens
Cache write
873 credits / 1M tokens

What You Can Do with Claude Opus 5

Choose Claude Opus 5 when the task needs sustained reasoning, careful decisions, and high-quality output across several dependent steps.

Complex Reasoning

Work through decisions with multiple constraints, competing evidence, and dependent steps.

Agent Planning

Draft plans, evaluate tool results, and maintain a clear objective across longer workflows.

High-Stakes Code Review

Inspect architecture, trace subtle failures, and propose changes with explicit tradeoffs.

Executive Synthesis

Turn dense technical or business material into defensible recommendations and action plans.

Claude Opus 5 Use Cases

Best suited to expensive mistakes, complex dependencies, and work where the quality of the final decision matters more than the shortest response time.
01

Architecture Decisions

Compare migration paths and surface risks before committing engineering time.

02

Complex Incident Analysis

Connect evidence across logs, code, and operational context.

03

Agent Orchestration

Plan and review workflows with multiple tools or dependent stages.

04

Strategic Research

Synthesize dense material into decisions that can be defended.

How to Use Claude Opus 5

Test the model in three straightforward steps.

01

Choose Your Settings

Set the response controls and upload options supported by the model.

02

Send a Prompt

Describe the task, add relevant context, and review the streamed response and token usage.

03

Connect the API

Use the documented endpoint and your API key to bring the same model into your product.

Build with the Claude Opus 5 API

Go from an interactive test to a production integration with predictable controls and usage reporting.

Familiar Protocols

Use the API protocol configured for this model, including streaming where available.

Usage Visibility

Track input tokens, output tokens, and consumed credits after each response.

Model-Specific Controls

Pass the supported generation parameters instead of relying on generic defaults.

One Account and Balance

Test and operate supported text models through the same AIReiter account and billing system.

Claude Opus 5 FAQ

Common questions about the online playground, pricing, and API access.

/ 01

When should I choose Claude Opus 5?

Choose it for complex, multi-step work where reasoning quality and careful decisions justify a flagship model.

/ 02

Is Claude Opus 5 suitable for coding agents?

Use the playground to test planning, code review, and tool-driven workflows against your own repository tasks.

/ 03

How is Claude Opus 5 priced?

Input and output token rates are shown above the playground and should be checked before production routing.

/ 04

Should every request use Claude Opus 5?

No. Route routine or latency-sensitive work to a lighter model and reserve Opus 5 for difficult requests.

/ 05

Can I access Claude Opus 5 through an API?

Yes. Use the API documentation linked on this page and send the displayed model ID.

AIREITER

Questions? Contact us at
support@aireiter.com

新速率有限公司NEWRATE LIMITED香港九龍花園街 2-16 號好景商業中心 2304 室Room 2304, Haojing Commercial Center, 2-16 Garden Street, Kowloon, Hong Kong

LLM

MiniMax M3GLM 5.2Doubao Seed 2.1 TurboKimi K2.7 CodeDeepSeek V4 Flash

AI Video

HappyHorse 1.0HappyHorse 1.1Gemini Omni FlashFLUX 3 VideoVeo 3.1

AI Image

Grok Imagine Image 2.0Midjourney V8.1Midjourney V7Z-Image TurboKrea 2 Turbo

Blog

View All →

Company

Privacy PolicyTerms of ServiceRefund Policy

© 2026 AIReiter. All rights reserved.