ConsolePublic documentation

Developer integration

HTTP and curl

Call the Gateway directly from any HTTP client without an SDK.

Protocol
Chat Completions · Responses · Messages
Support status
Supported

Endpoints

Run the environment commands in a macOS/Linux shell, then run curl in the same terminal. Replace all placeholders first. These variables affect only that shell and its child processes until it closes; they are not a persistent configuration. On Windows adapt them to PowerShell or use a compatible shell.

  • GET /v1/models — models visible to the key
  • POST /v1/chat/completions — OpenAI-compatible chat
  • POST /v1/responses — stateless Responses
  • POST /v1/messages — Anthropic Messages
  • POST /v1/messages/count_tokens — native token count without generation or billing
  • POST /v1/images/generations — single-image generation
  • POST /v1/images/edits — single-image multipart editing
Run in the same terminal · macOS/Linux shell
export ALBATROSS_ORIGIN="https://staging-gateway.bulakua.com"
export ALBATROSS_BASE_URL="https://staging-gateway.bulakua.com/v1"
export ALBATROSS_API_KEY="<ALBATROSS_API_KEY>"
export ALBATROSS_MODEL="<ALBATROSS_MODEL>"

Authentication

The snippets below are HTTP request headers, not shell commands or config files. Set one in your HTTP client; curl examples below already include the required header. OpenAI-compatible endpoints use Bearer authentication. Messages accepts either Bearer or x-api-key; choose one method per client.

HTTP request header · Bearer
Authorization: Bearer <ALBATROSS_API_KEY>
HTTP request header · Anthropic alternative
x-api-key: <ALBATROSS_API_KEY>

Chat Completions

Run in the same terminal · Non-streaming
curl "$ALBATROSS_BASE_URL/chat/completions" \
  -H "Authorization: Bearer $ALBATROSS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"'"$ALBATROSS_MODEL"'","messages":[{"role":"user","content":"Hello"}]}'
Run in the same terminal · Streaming
curl --no-buffer "$ALBATROSS_BASE_URL/chat/completions" \
  -H "Authorization: Bearer $ALBATROSS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"'"$ALBATROSS_MODEL"'","stream":true,"messages":[{"role":"user","content":"Hello"}]}'

Responses and Messages

Run in the same terminal · Responses
curl "$ALBATROSS_BASE_URL/responses" \
  -H "Authorization: Bearer $ALBATROSS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"'"$ALBATROSS_MODEL"'","input":"Hello","store":false}'
Run in the same terminal · Anthropic Messages
curl "$ALBATROSS_ORIGIN/v1/messages" \
  -H "x-api-key: $ALBATROSS_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{"model":"'"$ALBATROSS_MODEL"'","max_tokens":1024,"messages":[{"role":"user","content":"Hello"}]}'

Request limits

  • Responses and Chat Completions request bodies: 32 MiB (33,554,432 bytes of serialized UTF-8 JSON, including history and tools); model context and upstream limits still apply
  • Messages and count_tokens request bodies: 32 MiB
  • Images request bodies: 12 MiB (generations and edits); one image file: 10 MiB
  • A partial SSE delta is not a successful completion; require the protocol's terminal event.