Skip to content

Command Palette

Search for a command to run...

Quickstart

From zero to your first streamed completion in under five minutes. Everything here works on the free Starter plan.

Get started

  1. 1

    Create an account and grab an API key

    Sign up at tapotik.ai/signup — the Starter plan includes 1,000 free credits, no card required. Then create a key in Dashboard → API keys. Keys look like tp_live_a1b2c3… and are shown once, so store yours in a secret manager.

    .envbash
    TAPOTIK_API_KEY=tp_live_a1b2c3d4e5f6...
  2. 2

    Install the SDK

    Typed SDKs are available for TypeScript, Python and Go. The raw REST API works with any HTTP client if you prefer.

    bash
    npm install @tapotik/sdk
    # or: pip install tapotik / go get github.com/tapotik/tapotik-go
  3. 3

    Make your first request

    Send a chat completion. The same request shape works for every model on the platform.

    terminalbash
    curl https://api.tapotik.ai/v1/chat/completions \
      -H "Authorization: Bearer $TAPOTIK_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "model": "tapotik-2-pro",
        "messages": [
          { "role": "user", "content": "Write a haiku about latency." }
        ]
      }'
    app/main.tstypescript
    import Tapotik from "@tapotik/sdk";
    
    const client = new Tapotik({ apiKey: process.env.TAPOTIK_API_KEY });
    
    const completion = await client.chat.completions.create({
      model: "tapotik-2-pro",
      messages: [{ role: "user", content: "Write a haiku about latency." }],
    });
    
    console.log(completion.choices[0].message.content);
  4. 4

    Stream the response

    Pass stream: true to receive server-sent events as tokens are generated — first tokens typically arrive in under 100ms.

    app/stream.tstypescript
    const stream = await client.chat.completions.create({
      model: "tapotik-2-pro",
      messages: [{ role: "user", content: "Explain vector search simply." }],
      stream: true,
    });
    
    for await (const chunk of stream) {
      process.stdout.write(chunk.choices[0]?.delta?.content ?? "");
    }
Never expose tp_live_… keys in browser code or mobile apps. Call the API from your backend, or mint short-lived scoped tokens as described in Authentication.

Where to go next

Explore the Chat API for tools and structured output, generate visuals with the Image API, or wire up webhooksto react to async jobs. When you're ready for production, review rate limits and error handling.