Back to Models
anthropic logoAnthropic
anthropic-claude-opus-4-8

Claude Opus 4.8

Claude Opus 4.8 is Anthropic's most capable generally available model in the Opus family. It supports text, image, and file inputs with text output, with reasoning support and a 1M-token...

5/27/2026
1,000,000 tokens
Input: $5.28/M
Output: $26.38/M

Specifications

Modalities

Input
text
image
file
Output
text

Supported Parameters

include_reasoning
max_completion_tokens
max_tokens
reasoning
reasoning_effort
response_format
stop
structured_outputs
temperature
tool_choice
tools
verbosity

Max Output Tokens

128,000

Reasoning Configuration

Default
Thinking off
Selectable effort levels
max
xhigh
high
medium
low
Turning thinking off
Possible (reasoning.enabled: false)

How to control thinking, and what it costs

Data policy

Prompt retention
Unknown — we could not confirm
Training
Not used for training

"Unknown" does not mean "safe". It means we could not confirm it.

Whether a provider trains on prompts is a declared value from our terms with them. Retention is determined from the upstream listing for every host this model can reach. Neither is guessed.

Measured performance

Time to first response (p50)1.5s
Throughput (p50)124 tokens/s

    Measured through FastMetal's own gateway over the last 30 days (661 first-response samples).

    Throughput is sampled once a day: the median of 27 observations over the last 30 days.

    Time to first response is measured to the first streamed chunk; throughput counts all output tokens, including reasoning tokens. These are observations, not a performance guarantee.

    Code Examples

    curl https://api.fastmetal.ai/v1/chat/completions \
      -H "Content-Type: application/json" \
      -H "Authorization: Bearer YOUR_API_KEY" \
      -d '{
        "model": "anthropic-claude-opus-4-8",
        "messages": [{"role": "user", "content": "Hello!"}]
      }'

    How Claude Opus 4.8 actually answers

    Real responses to our standard prompts, recorded on FastMetal.

    Count the number of 'r's in 'strawberry'

    Count the number of 'r's in 'strawberry'. Explain your reasoning step by step.

    # Counting 'r's in "strawberry" ## Step-by-step process: Let me go through each letter one at a time: | Position | Letter | Is it 'r'? | |----------|--------|-----------| | 1 | s | No | | 2 | t | No | | 3 | r | ✓ Yes (1) | | 4 | a | No | | 5 | w | No | | 6 | b | No | | 7 | e | No | | 8 | r | ✓ Yes (2) | | 9 | r | ✓ Yes (3) | | 10 | y | No | ## Answer: There are **3** 'r's in "strawberry". The three 'r's appear at positions 3, 8, and 9 — one after the "st" and two together in the "rry" ending.
    4.5s response262 output tokens

    Debug This Error

    I'm getting the following error in my Node.js application: TypeError: Cannot read properties of undefined (reading 'map') at UserList (/app/components/UserList.js:12:25) at renderWithHooks (/app/node_modules/rea…

    # What's Causing the Error The error tells you exactly what's happening: ``` TypeError: Cannot read properties of undefined (reading 'map') at UserList (/app/components/UserList.js:12:25) ``` At the moment `UserList` renders, the `users` prop is `undefined`, and you can't call `.map()` on `undefined`. This is extremely common when data is fetched asynchronously—the component renders **before** the data arrives. Common reasons `users` is undefined: - The parent hasn't passed the `users` prop at all - Data is still loading from an API (initial state is `undefined`) - The API response shape differs from what you expect (e.g. `data.users` vs `data`) --- # How to Fix It ## Option 1: De…
    11.3s response761 output tokens

    Code Review

    Please review the following Python function and suggest improvements for readability, performance, and best practices: def get_data(url, retries=3): import requests import time for i in range(retries):…

    # Code Review Here's a breakdown of issues and suggested improvements for your function. ## Key Issues 1. **Imports inside the function** — should be at module level (runs on every call, harder to see dependencies). 2. **Bare `except:`** — catches everything, including `KeyboardInterrupt` and `SystemExit`. Silently swallowing errors makes debugging hard. 3. **Magic numbers** — `10`, `2`, `200` scattered around; extract as parameters/constants. 4. **`== True` comparison** — non-Pythonic; use the value directly (or `is True` if strict). 5. **Blocking `time.sleep(2)`** — fixed delay; exponential backoff is a better practice. 6. **`r.status_code == 200`** — misses other success codes; use `ra…
    16.9s response1403 output tokens

    Compare these answers side by side with other models →

    Frequently asked questions

    How much does the Claude Opus 4.8 API cost?
    On FastMetal, Claude Opus 4.8 is billed per token: $5.28 per 1M input tokens and $26.38 per 1M output tokens on a US-dollar account, before tax. Usage is drawn from a prepaid balance; there is no subscription or monthly fee.
    Can I call Claude Opus 4.8 with the OpenAI SDK?
    Yes. Point base_url at https://api.fastmetal.ai/v1 and pass "anthropic-claude-opus-4-8" as the model; existing OpenAI-style code works unchanged, including streaming, tool calls and structured output.
    What is the context window of Claude Opus 4.8?
    1,000,000 tokens, shared between the prompt and the response.
    What do I need to try Claude Opus 4.8?
    Create an account and add credit; the model is then available both in the browser chat and over the API. There is no contract or minimum spend.

    Try Claude Opus 4.8 right now

    Claude Opus 4.8 is available on FastMetal through one API key. Start in the browser, or call it from the OpenAI SDK.