Quickstart
Your first call in 60 seconds.
GPUBox is OpenAI-compatible. Any OpenAI SDK works without modification — just point it at https://api.gpubox.ai/v1 and use a GPUBox API key.
Step 1
Create an API key
Sign up for GPUBox and create a key from your dashboard. Keys start with
Sign upgpb_.Step 2
Make your first call
Pick your language. The API surface is identical to OpenAI's — only the
base_urlchanges.Python — pip install openaifrom openai import OpenAI client = OpenAI( api_key="gpb_...", base_url="https://api.gpubox.ai/v1", ) response = client.chat.completions.create( model="qwen2.5-32b-instruct", messages=[{"role": "user", "content": "Hello, GPUBox!"}], ) print(response.choices[0].message.content)Node.js — npm install openaiimport OpenAI from "openai"; const client = new OpenAI({ apiKey: "gpb_...", baseURL: "https://api.gpubox.ai/v1", }); const response = await client.chat.completions.create({ model: "qwen2.5-32b-instruct", messages: [{ role: "user", content: "Hello, GPUBox!" }], }); console.log(response.choices[0].message.content);curlcurl https://api.gpubox.ai/v1/chat/completions \ -H "Authorization: Bearer gpb_..." \ -H "Content-Type: application/json" \ -d '{ "model": "qwen2.5-32b-instruct", "messages": [{"role": "user", "content": "Hello, GPUBox!"}] }'Step 3
Stream tokens as they arrive
For chat-like UX, set
stream=True. GPUBox emits standard OpenAI SSE chunks.Python — streamingfor chunk in client.chat.completions.create( model="qwen2.5-32b-instruct", messages=[{"role": "user", "content": "Stream a haiku."}], stream=True, ): if chunk.choices[0].delta.content: print(chunk.choices[0].delta.content, end="", flush=True)Step 4
Send an image (vision)
Pick the vision model
qwen2.5-vl-7b-instructand add animage_urlcontent part to the message. Same/v1/chat/completionsendpoint. The url accepts a base64 data-URI or a plain https image URL.Python — vision# Vision: send an image alongside your text prompt. # Use the multimodal model and an image_url content part. The url # can be a base64 data-URI (shown) or a plain https image URL. response = client.chat.completions.create( model="qwen2.5-vl-7b-instruct", messages=[ { "role": "user", "content": [ {"type": "text", "text": "What's in this screenshot?"}, { "type": "image_url", "image_url": {"url": "data:image/png;base64,<...>"}, }, ], } ], ) print(response.choices[0].message.content)Step 5
Transcribe audio
Whisper-large-v3-turbo runs on the same key. Multipart upload, OpenAI-shape response.
Python — transcriptionwith open("audio.wav", "rb") as f: transcript = client.audio.transcriptions.create( model="whisper-large-v3-turbo", file=f, ) print(transcript.text)