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.