Skip to main content

Basic Request

All text models use the same endpoint with an OpenAI-compatible message format:
import requests

response = requests.post(
    "https://neuralbox.top/api/v2/generate",
    headers={"Authorization": "Bearer nb_YOUR_API_KEY"},
    json={
        "model": "gpt-5",
        "messages": [
            {"role": "system", "content": "You are a helpful assistant."},
            {"role": "user", "content": "Explain quantum computing in simple terms."}
        ]
    }
)

print(response.json()["content"])

Choosing the Right Model

TaskRecommended modelCost
Quick Q&A, draftsgpt-5-nano, claude-haiku-4.51 token (Starter)
Fast reasoningdeepseek-r11 token
Code generationgpt-5, deepseek-r11–2 tokens
Long documents, analysisclaude-sonnet-4.54 tokens
Complex reasoningclaude-opus-4.56 tokens
Creative writinggpt-5, gpt-5.22–4 tokens
Multilingualgemini-3-pro3 tokens
Starter models (gpt-5-nano, claude-haiku-4.5, gemini-2.5-flash, deepseek-v3, grok-4-fast) are available without a subscription. Switch to paid models when you need higher quality.

Full Model Reference

SlugNameTierTokens
gpt-5-nanoGPT-5 NanoStarter1
claude-haiku-4.5Claude Haiku 4.5Starter1
gemini-2.5-flashGemini 2.5 FlashStarter1
deepseek-v3DeepSeek V3 ChatStarter1
grok-4-fastGrok 4 FastStarter1
gpt-5GPT-5Basic+2
deepseek-r1DeepSeek R1Basic+1
gpt-5.2GPT-5.2Basic+4
claude-sonnet-4.5Claude Sonnet 4.5Basic+4
gemini-3-proGemini 3 ProBasic+3
claude-opus-4.5Claude Opus 4.5Basic+6
gpt-5.2-proGPT-5.2 ProBasic+39

System Prompts

Use the system role to set context and behaviour for the model:
messages = [
    {
        "role": "system",
        "content": "You are a professional copywriter. Write in a concise, engaging style. Always respond in the same language as the user."
    },
    {
        "role": "user",
        "content": "Write a tagline for a project management app."
    }
]

Multi-turn Conversations

Pass the full conversation history in the messages array:
messages = [
    {"role": "user", "content": "What is the capital of France?"},
    {"role": "assistant", "content": "The capital of France is Paris."},
    {"role": "user", "content": "What's the population there?"}
]

Streaming

Add "stream": true to receive tokens as they’re generated:
response = requests.post(
    "https://neuralbox.top/api/v2/generate/stream",
    headers={"Authorization": "Bearer nb_YOUR_API_KEY"},
    json={
        "model": "claude-sonnet-4.5",
        "messages": [{"role": "user", "content": "Write a short story."}],
        "stream": True
    },
    stream=True
)

for line in response.iter_lines():
    if line:
        print(line.decode())

Parameters Reference

ParameterTypeDefaultDescription
modelstringrequiredModel slug
messagesarrayrequiredConversation history
max_tokensintegermodel defaultMaximum tokens in response
temperaturefloat1.0Creativity (0 = deterministic, 2 = very creative)
streambooleanfalseEnable streaming

Response Format

{
  "id": "gen_01j9x2abc123",
  "status": "completed",
  "type": "text",
  "model": "gpt-5",
  "content": "Quantum computing uses quantum bits (qubits)...",
  "tokens_used": 2,
  "balance_remaining": 298,
  "created_at": "2026-03-01T12:00:00Z"
}