Skip to main content

Overview

WaveAPI endpoints fall into two categories:

Synchronous Endpoints

The request blocks until completion and returns the result directly. Suitable for fast tasks such as text generation and speech synthesis.

Asynchronous Tasks

The request returns a task_id immediately. Retrieve results via polling or webhook. Suitable for time-consuming tasks such as image and video generation.

Synchronous Endpoints

The following endpoints operate in synchronous mode, returning results upon completion:
EndpointPurpose
/v1/chat/completionsText generation (OpenAI compatible)
/v1/messagesText generation (Claude native)
/v1/beta/models/{model}:generateContentText generation (Gemini native)
/v1/audio/speechTTS text-to-speech
/v1/audio/transcriptionsSTT speech recognition
/v1/images/generationsSynchronous image generation
/v1/embeddingsText embeddings
/v1/responsesOpenAI Responses API

Asynchronous Task Endpoints

Image and video generation use a unified async task system:
EndpointPurpose
POST /v1/tasksSubmit an async task; returns a task_id immediately
POST /v1/tasks/syncSubmit and wait for completion (falls back to polling on timeout)
GET /v1/tasks/{task_id}Query task status and results
POST /v1/tasks/{task_id}/cancelCancel a queued task

How to Choose

  • Text conversations — Use synchronous endpoints with streaming support (SSE)
  • Image generation — Use /v1/images/generations for simple cases, or /v1/tasks for advanced scenarios
  • Video generation — Must use /v1/tasks (long processing time)
  • Callback notifications — Use /v1/tasks with callback_url