API overview

Base URL, request conventions, and response formats for the Pipevideo API.

Base URL

https://api.pipevideo.co/v1

All paths below are relative to this base.

Content type

Send Content-Type: application/json on POST requests. Responses are JSON.

Authentication

Public endpoints (GET /v1/engines) require no credentials. All other endpoints require a Bearer API key. See Authentication.

Request shapes

Pipevideo supports two OpenAI-compatible formats. Both accept the same Pipevideo extensions (engine, expand_prompt, provider, webhook_url, canvas dimensions).

{
  "model": "moonshotai/kimi-k2.5",
  "input": "A cat walking on a beach at sunset",
  "instructions": "You are a motion designer.",
  "width": 1080,
  "height": 1920,
  "provider": { "order": ["framerate"] }
}

Chat Completions API

{
  "model": "moonshotai/kimi-k2.5",
  "messages": [
    { "role": "user", "content": "A cat walking on a beach at sunset" }
  ],
  "width": 1080,
  "height": 1920,
  "provider": { "order": ["framerate"] }
}

The model field is an orchestration LLM id, not an engine slug. List available models via GET /v1/engines.

Response shape

Successful responses return JSON objects. Failed requests return an error envelope:

{
  "message": "Human readable error description"
}

See Errors for status codes and handling.

Async generations

POST /v1/responses and POST /v1/chat/completions return immediately with a queued/pending status. Poll the matching GET endpoint or pass webhook_url on create to receive webhooks for completion notifications.

Optional headers

HeaderDescription
HTTP-RefererApp URL for attribution
X-Pipevideo-TitleApp name for attribution
X-Application-NameAlternative app identifier

See App attribution.