AIWave
Create API key

Documentation without the maze

Start from
what already runs.

Shape

Follow the request shape, inspect the expected response, and keep asynchronous work visible until it reaches a terminal state.

Table 1 — the paths

Five paths, three behaviours.

MethodPathContractReturnsBehaviour
POST/v1/chat/completionsOpenAI-compatibleMessageSynchronous
POST/v1/messagesClaude nativeMessageSynchronous
POST/v1/images/generationsGenerationResult URLSynchronous
POST/v1/images/editsMultipartResult URLSynchronous
POST/v1/video/generationsGenerationTask idAsynchronous
GET/v1/video/generations/{task_id}GenerationStatus, then URLPoll to terminal

Paths are listed as published. The active catalog and the model identifiers behind each path are confirmed at the point of use.

The one you will write first

If your client already speaks this shape, the only thing that changes is the model name in the body.

POST /v1/chat/completions

curl https://aiwave.live/v1/chat/completions \
  -H "Authorization: Bearer $AIWAVE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"your-model-id",
       "messages":[{"role":"user",
                    "content":"Ship one representative request."}]}'