Tutorials

Free, Unlimited Claude API

On this page

This tutorial will show you how to use Puter.js to access Claude's advanced AI capabilities (such as Claude Opus 4.7, Claude Sonnet 4.6, Claude Opus 4.6, Claude Opus 4.6 Fast, Claude Haiku 4.5) for free, without any API keys, backend, or servers. Using Puter.js, you can generate text with Claude for a wide range of tasks, from creative writing to code generation and function calling without worrying about usage limits or costs.

Puter is the pioneer of the "User-Pays" model, which allows developers to incorporate AI capabilities into their applications while users cover their own usage costs. This model enables developers to access advanced AI capabilities for free, without any API keys or server-side setup.

Getting Started

To use Puter.js, import our NPM library in your project:

// npm install @heyputer/puter.js
import { puter } from '@heyputer/puter.js';

Or alternatively, add our script via CDN if you are working directly with HTML, simply add it to the <head> or <body> section of your code:

<script src="https://js.puter.com/v2/"></script>

You're now ready to use Puter.js for free access to Claude capabilities. No API keys or sign-ups are required.

Example 1: Basic Text Generation with Claude Sonnet 4.6

To generate text using Claude, use the puter.ai.chat() function with your preferred model. Here's a full code example using Claude Sonnet 4.6:

<html>
<body>
    <script src="https://js.puter.com/v2/"></script>
    <script>
        puter.ai.chat("Explain quantum computing in simple terms", {model: 'claude-sonnet-4-6'})
            .then(response => {
                puter.print(response.message.content[0].text);
            });
    </script>
</body>
</html>

Example 2: Streaming Responses for Longer Queries

For longer responses, use streaming to get results in real-time:

async function streamClaudeResponse(model = 'claude-sonnet-4-6') {
    const response = await puter.ai.chat(
        "Write a detailed essay on the impact of artificial intelligence on society", 
        {model: model, stream: true}
    );
    
    for await (const part of response) {
        puter.print(part?.text);
    }
}

// Use Claude Sonnet 4.6 (default)
streamClaudeResponse();

Here's the full code example with streaming:

<html>
<body>
    <script src="https://js.puter.com/v2/"></script>
    <script>
        (async () => {
            const response = await puter.ai.chat(
                "Write a detailed essay on the impact of artificial intelligence on society", 
                {model: 'claude-sonnet-4-6', stream: true}
            );
            
            for await (const part of response) {
                puter.print(part?.text);
            }
        })();
    </script>
</body>
</html>

Example 3: Using different Claude models

You can specify different Claude models using the model parameter, for example claude-haiku-4-5 or claude-opus-4-5 or claude-opus-4-7:

// Using claude-haiku-4-5 model
puter.ai.chat(
    "Write a short poem about coding",
    { model: "claude-haiku-4-5" }
).then(response => {
    puter.print(response.message.content[0].text);
});

// Using claude-opus-4-7 model
puter.ai.chat(
    "Write a short poem about coding",
    { model: "claude-opus-4-7" }
).then(response => {
    puter.print(response.message.content[0].text);
});

Full code example:

<html>
<body>
    <script src="https://js.puter.com/v2/"></script>
    <script>
        // Using claude-haiku-4-5 model
        puter.ai.chat(
            "Write a short poem about coding",
            { model: "claude-haiku-4-5" }
        ).then(response => {
            puter.print("<h2>Using claude-haiku-4-5 model</h2>");
            puter.print(response.message.content[0].text);
        });

        // Using claude-opus-4-7 model
        puter.ai.chat(
            "Write a short poem about coding",
            { model: "claude-opus-4-7" }
        ).then(response => {
            puter.print("<h2>Using claude-opus-4-7 model</h2>");
            puter.print(response.message.content[0].text);
        });
    </script>
</body>
</html>

Example 4: Fast Mode with Smart Responses

You can use Claude Opus 4.6 in fast mode — it's 2.5x faster than standard Opus 4.6 but 6x more expensive. Here's how to use it:

puter.ai.chat(
    "Explain quantum computing in simple terms",
    { model: "claude-opus-4.6-fast" }
).then(response => {
    puter.print(response);
});

Full code example:

<html>
<body>
    <script src="https://js.puter.com/v2/"></script>
    <script>
        puter.ai.chat(
            "Explain quantum computing in simple terms",
            { model: "claude-opus-4.6-fast" }
        ).then(response => {
            puter.print(response);
        });
    </script>
</body>
</html>

Example 5: Complex Reasoning with Claude Opus 4.7

Claude Opus 4.7 is Anthropic's most capable model, built for complex reasoning and long-horizon agentic tasks, making it ideal for multi-step problems that require deep analysis:

puter.ai.chat(
    `A farmer has 3 fields. Field A produces 20% more wheat than Field B. 
    Field C produces 15% less than Fields A and B combined. 
    If the total production is 14,000 kg, how much does each field produce? 
    Show your step-by-step reasoning.`,
    { model: "claude-opus-4-7" }
).then(response => {
    puter.print(response.message.content[0].text);
});

Full code example:

<html>
<body>
    <script src="https://js.puter.com/v2/"></script>
    <script>
        puter.ai.chat(
            `A farmer has 3 fields. Field A produces 20% more wheat than Field B. 
            Field C produces 15% less than Fields A and B combined. 
            If the total production is 14,000 kg, how much does each field produce? 
            Show your step-by-step reasoning.`,
            { model: "claude-opus-4-7" }
        ).then(response => {
            puter.print(response.message.content[0].text);
        });
    </script>
</body>
</html>

Available Models

The following Claude models are available via Puter.js:

claude-opus-4-7
claude-opus-4.6-fast
claude-sonnet-4-6
claude-opus-4-6
claude-opus-4-5
claude-haiku-4-5
claude-sonnet-4-5
claude-opus-4-1
claude-opus-4
claude-sonnet-4
claude-3-7-sonnet
claude-3-5-sonnet
claude-3-haiku

That's it! You now have free, unlimited access to Claude capabilities using Puter.js. This allows you to leverage Claude's advanced language understanding and generation abilities without worrying about API keys or usage limits.

Free, Serverless AI and Cloud

Start creating powerful web applications with Puter.js in seconds!

Get Started Now

Read the Docs Try the Playground