Verified request path

Send the smallest request that still proves the route.

Create a key, set the AIWave base URL, pin a verified model ID, and inspect the usage returned with the response.

Four steps from key to evidence.

Use the same model ID and payload shape in the code and in your acceptance note.

01

Create and store the key

Create the key in Console and load it from AIWAVE_API_KEY. Keep it out of source control and client-side code.

Secret
02

Set the base URL

Point the OpenAI-compatible client to https://aiwave.live/v1.

Route
03

Pin the tested model ID

Start with deepseek-v4-pro, then use the same test pattern for glm-5.1 or kimi-k3.

Model
04

Send one representative request

Check the response, status, usage fields, request record, and charge before you move more traffic.

Evidence

The key is shared. The request contract is not.

Use the protocol that belongs to the selected family. This prevents a model ID from being sent to a path that returns a misleading 404 or an unreadable response envelope.

Route matrix checked 2026-09-10
AIWave model family route matrix
FamilyRouteProtocolBoundary
GPT/v1/chat/completionsOpenAI-compatibleRoute facts recorded; public price pending
Chinese models/v1/chat/completionsOpenAI-compatiblePublic rate card available
Claude/v1/messagesAnthropic nativeNative route; compatible path is model-dependent
Gemini/v1beta/models/{id}:generateContentGemini nativeNative route; image IDs do not use /v1/images/generations
Image routes/v1/images/generations or provider-nativeRoute-specificCheck the model-family contract before sending media

See Models for exact IDs and Request Recovery when the route and model do not agree.

Start from the client you already use.

Each example uses the same verified route and model ID.

Python

import os
from openai import OpenAI

client = OpenAI(base_url="https://aiwave.live/v1", api_key=os.environ["AIWAVE_API_KEY"])
response = client.chat.completions.create(model="deepseek-v4-pro", messages=[{"role": "user", "content": "Hello"}])
print(response.usage)

Node.js

import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://aiwave.live/v1", apiKey: process.env.AIWAVE_API_KEY });
const response = await client.chat.completions.create({ model: "deepseek-v4-pro", messages: [{ role: "user", content: "Hello" }] });
console.log(response.usage);

curl

curl "https://aiwave.live/v1/chat/completions" \
+  -H "Authorization: Bearer $AIWAVE_API_KEY" \
+  -H "Content-Type: application/json" \
+  -d '{"model":"deepseek-v4-pro","messages":[{"role":"user","content":"Hello"}]}'

Before you expand.
Compare the dated rate, response, usage, and completed charge for one representative request before adding tools, retries, or production traffic.
Bring your agent

Keep the agent. Change the model route.

OpenClaw, WorkBuddy, and a custom agent can use the same AIWave key and USD balance. Start with an OpenAI-compatible model and exact model ID, then use the native route when the model family requires it.