reference

API documentation

The full reference for the inference API: which endpoints exist, how authentication works, what each one returns and what it costs. The same content you will find inside the Developers guide, here as a standalone document.

base_url https://api.gpuflow.ai/v1

Base URL

https://api.gpuflow.ai

Authentication

Authorization: Bearer $GPUFLOW_API_KEY

Include your API key in the Authorization header as a Bearer token. Create and manage keys from your dashboard.

Endpoints

POST
/v1/chat/completions
Main endpoint compatible with the OpenAI SDK. Supports streaming, function calling and all catalogue models.
POST
/v1/messages
Endpoint compatible with the Anthropic SDK. Same functionality, Anthropic message format.
GET
/v1/models
Lists available models with pricing and capabilities.
POST
/v1/audio/transcriptions
Upload an audio file and get the text back. Multipart; with response_format=verbose_json it also returns the duration, which is what gets billed.
POST
/v1/audio/speech
You send text and a voice, and get the audio back. Billed per character.
POST
/v1/music/generations
Generates a whole song. It is asynchronous: it returns an id, you poll the status and download the track when it finishes.

Streaming and reasoning

Streaming (SSE)

Add "stream": true and you get the response over Server-Sent Events, token by token. We inject keep-alives so long connections aren't dropped by intermediate proxies.

Configurable reasoning

The models that reason accept a thinking budget: control it with reasoning.effort ("low", "medium", "high", or "none" to switch it off) or with reasoning.max_tokens. It works from the OpenAI SDK and from the Anthropic one (thinking.budget_tokens); we translate it to the engine for you.

request

{ "model": "deepseek-v4-pro",
  "messages": [{ "role": "user", "content": "Resuélvelo paso a paso" }],
  "stream": true,
  "reasoning": { "effort": "high" } }

Function calling

7 of the 10 text models support tools, in the standard OpenAI format. You pass your tools array and the model decides when to call them; you run the function and return the result. In the catalogue below they carry the “Tools” capability.

request

{ "model": "deepseek-v4-pro",
  "messages": [{ "role": "user", "content": "¿Qué tiempo hace hoy?" }],
  "tools": [{
    "type": "function",
    "function": {
      "name": "get_weather",
      "parameters": {
        "type": "object",
        "properties": { "city": { "type": "string" } }
      }
    }
  }] }

Your first call, in your language

import os
from openai import OpenAI

client = OpenAI(
    base_url="https://api.gpuflow.ai/v1",
    api_key=os.environ["GPUFLOW_API_KEY"]
)

response = client.chat.completions.create(
    model="deepseek-v4-pro",
    messages=[{"role": "user", "content": "Hello!"}],
    max_tokens=10000
)

print(response.choices[0].message.content)

Error codes

401
Invalid or missing API key
402
Insufficient balance, top up from your dashboard
403
You do not have permission to use this model
404
Model not found
429
Rate limit exceeded, wait and retry (Retry-After header)
503
Model temporarily overloaded, retry with backoff (Retry-After header)

Your first call, today.

An account in a minute, no card, with 50 € of credit already loaded.