← Back to Skills Marketplace
urbantech

Ainative Chat Completions

by Toby Morning · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
103
Downloads
0
Stars
1
Active Installs
1
Versions
Install in OpenClaw
/install ainative-chat-completions
Description
Help agents build conversational AI with AINative's Chat Completions API. Use when (1) Building a chatbot or AI assistant, (2) Implementing streaming respons...
README (SKILL.md)

AINative Chat Completions

Endpoint

POST https://api.ainative.studio/v1/public/chat/completions

Auth: X-API-Key: ak_... or Authorization: Bearer \x3Cjwt>

Basic Request

import requests

response = requests.post(
    "https://api.ainative.studio/v1/public/chat/completions",
    headers={"X-API-Key": "ak_your_key"},
    json={
        "model": "claude-3-5-sonnet-20241022",
        "messages": [
            {"role": "system", "content": "You are a helpful assistant."},
            {"role": "user", "content": "What is ZeroDB?"}
        ],
        "temperature": 0.7,
        "max_tokens": 1024
    }
)
data = response.json()
print(data["choices"][0]["message"]["content"])
print(f"Tokens used: {data['usage']['total_tokens']}")

Streaming (SSE)

import requests

with requests.post(
    "https://api.ainative.studio/v1/public/chat/completions",
    headers={"X-API-Key": "ak_your_key"},
    json={"model": "claude-3-5-sonnet-20241022",
          "messages": [{"role": "user", "content": "Count to 5"}],
          "stream": True},
    stream=True
) as resp:
    for line in resp.iter_lines():
        if line and line.startswith(b"data: "):
            chunk = line[6:]
            if chunk != b"[DONE]":
                import json
                delta = json.loads(chunk)["choices"][0]["delta"]
                print(delta.get("content", ""), end="", flush=True)

React SDK — useChat Hook

npm install @ainative/react-sdk
import { AINativeProvider, useChat } from '@ainative/react-sdk';

function App() {
  return (
    \x3CAINativeProvider config={{ apiKey: 'ak_your_key' }}>
      \x3CChatComponent />
    \x3C/AINativeProvider>
  );
}

function ChatComponent() {
  const { messages, sendMessage, isLoading, error } = useChat({
    model: 'claude-3-5-sonnet-20241022',
    systemPrompt: 'You are a helpful assistant.',
  });

  const handleSend = () => sendMessage('Hello!');

  return (
    \x3Cdiv>
      {messages.map((msg, i) => (
        \x3Cdiv key={i}>\x3Cb>{msg.role}:\x3C/b> {msg.content}\x3C/div>
      ))}
      \x3Cbutton onClick={handleSend} disabled={isLoading}>
        {isLoading ? 'Thinking...' : 'Send'}
      \x3C/button>
      {error && \x3Cp>Error: {error.message}\x3C/p>}
    \x3C/div>
  );
}

Next.js — Server Action + Streaming

npm install @ainative/next-sdk
// app/api/chat/route.ts
import { createServerClient } from '@ainative/next-sdk/server';

export async function POST(request: Request) {
  const { messages } = await request.json();
  const client = createServerClient({ apiKey: process.env.AINATIVE_API_KEY! });

  const stream = await client.chat.completions.create({
    model: 'claude-3-5-sonnet-20241022',
    messages,
    stream: true,
  });

  return new Response(stream.body, {
    headers: { 'Content-Type': 'text/event-stream' }
  });
}

Available Models

Model Context Best For
claude-3-5-sonnet-20241022 200k General purpose (default)
claude-3-5-haiku-20241022 200k Fast, low cost
claude-3-opus-20240229 200k Complex reasoning
gpt-4o 128k OpenAI fallback

Request Parameters

Parameter Type Default Description
model string required Model ID
messages array required Conversation history
stream boolean false Enable SSE streaming
temperature float 0.7 Randomness (0-1)
max_tokens int 1024 Max response length
system string System prompt (alternative)

Credit Costs

Credits are consumed per token. Check balance before high-volume usage:

balance = requests.get(
    "https://api.ainative.studio/api/v1/public/credits/balance",
    headers={"X-API-Key": "ak_your_key"}
).json()
print(f"Remaining: {balance['remaining_credits']}")

Error Handling

Status Meaning Action
401 Invalid API key Check key format: ak_...
402 Insufficient credits Top up or upgrade plan
429 Rate limit Back off, retry with exponential delay
503 Model unavailable Retry or use fallback model

References

  • docs/api/CHAT_COMPLETION_API_REFERENCE.md (757 lines — full spec)
  • src/backend/app/api/v1/endpoints/managed_chat.py
  • packages/sdks/react/src/hooks/useChat.ts
  • packages/sdks/nextjs/src/
Usage Guidance
This skill is documentation/example code for AINative's chat completions and is internally consistent. Before using it: (1) be prepared to supply your AINative API key when you run the examples — the skill itself doesn't store or request keys but the API calls require them; (2) do not paste secrets or sensitive data into prompts that will be sent to the AINative API; (3) verify you install SDK packages (@ainative/react-sdk, @ainative/next-sdk) from trusted sources (npmjs.org or your vetted private registry) and confirm the API endpoint (api.ainative.studio) matches the official provider; (4) note the scanner flagged a 'system-prompt-override' pattern — this appears to be a benign example of a system message, but always review any skill content that instructs agents on system prompts or message manipulation; (5) if you need higher assurance, request the skill author/publisher identity and confirm the SDK package repositories and docs referenced in the SKILL.md are official.
Capability Analysis
Type: OpenClaw Skill Name: ainative-chat-completions Version: 1.0.0 The skill bundle provides documentation and code examples for integrating with the AINative Chat Completions API (api.ainative.studio). It contains standard Python, React, and Next.js snippets for API interaction, streaming, and credit management, with no evidence of malicious intent, data exfiltration, or prompt injection attacks in SKILL.md.
Capability Assessment
Purpose & Capability
The name and description match the SKILL.md content: examples for raw HTTP, Python, React and Next.js SDK usage of AINative's chat completions API. The skill does not declare unrelated env vars, binaries, or installs, which is proportionate for documentation/example content.
Instruction Scope
Instructions are limited to making HTTP requests, using SDK hooks, and streaming SSE; they do not instruct reading arbitrary files or unrelated system state. One caveat: the examples include system messages (e.g., "You are a helpful assistant."), which is expected for chat-completion examples but triggered a pattern scanner for 'system-prompt-override' — likely a benign example but worth being aware of (see scan findings).
Install Mechanism
No install spec and no bundled code — instruction-only. This minimizes risk because nothing is written to disk by the skill itself.
Credentials
The SKILL.md shows use of an AINative API key (X-API-Key or process.env.AINATIVE_API_KEY) in examples. The skill does not require or request unrelated credentials or system config paths; requiring an API key is proportional to the documented usage.
Persistence & Privilege
always is false and there is no install step or code that requests persistent presence or modifies other skills or system settings.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install ainative-chat-completions
  3. After installation, invoke the skill by name or use /ainative-chat-completions
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
AINative Chat Completions v1.0.0 — initial release! - Introduces Chat Completions API for building chatbots and AI assistants via REST, Python, React, and Next.js. - Supports streaming (SSE), function/tool calling, and credit usage tracking per request. - Includes sample code for Python (sync/streaming), React (`useChat` hook), and Next.js server actions. - Provides model information, key request parameters, credit cost details, and error handling guidance. - See full API reference and SDK sources for more technical details.
Metadata
Slug ainative-chat-completions
Version 1.0.0
License MIT-0
All-time Installs 1
Active Installs 1
Total Versions 1
Frequently Asked Questions

What is Ainative Chat Completions?

Help agents build conversational AI with AINative's Chat Completions API. Use when (1) Building a chatbot or AI assistant, (2) Implementing streaming respons... It is an AI Agent Skill for Claude Code / OpenClaw, with 103 downloads so far.

How do I install Ainative Chat Completions?

Run "/install ainative-chat-completions" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Ainative Chat Completions free?

Yes, Ainative Chat Completions is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Ainative Chat Completions support?

Ainative Chat Completions is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Ainative Chat Completions?

It is built and maintained by Toby Morning (@urbantech); the current version is v1.0.0.

💬 Comments