Skip to main content
POST
/
api
/
v2
/
generate
Create Generation
curl --request POST \
  --url https://api.example.com/api/v2/generate \
  --header 'Authorization: <authorization>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "model": "<string>",
  "prompt": "<string>",
  "params": {}
}
'
{
  "id": 123,
  "status": "<string>",
  "model_slug": "<string>",
  "result_text": {},
  "result_url": {},
  "thumbnail_url": {},
  "error": {},
  "tokens_spent": 123,
  "processing_ms": 123,
  "result_metadata": {}
}

Overview

POST /api/v2/generate is the one endpoint for all AI generation — text, images, video, audio, TTS, music. The model slug determines what gets generated and what params are accepted.
Authorization
string
required
Authorization: Bearer nb_YOUR_API_KEY
model
string
required
Model slug. See Model Catalog for all available slugs.
prompt
string
required
The prompt or input text. For text models: the user message. For image/video: the visual description.
params
object
default:"{}"
Model-specific parameters. Examples below by category.

Text Generation

{
  "model": "claude-sonnet-4.5",
  "prompt": "Write a product description for wireless headphones",
  "params": {
    "system_prompt": "You are a professional copywriter.",
    "temperature": 0.7,
    "max_tokens": 500,
    "messages": [
      {"role": "user", "content": "Previous message for multi-turn context"}
    ]
  }
}
curl -X POST https://neuralbox.top/api/v2/generate \
  -H "Authorization: Bearer nb_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-4.5",
    "prompt": "Write a product description for wireless headphones",
    "params": {
      "system_prompt": "You are a professional copywriter.",
      "temperature": 0.7
    }
  }'

Image Generation

{
  "model": "flux-1.1-pro",
  "prompt": "Portrait of a CEO in a modern office, professional photography",
  "params": {
    "negative_prompt": "blurry, watermark, text",
    "size": "1024x1024",
    "format": "webp",
    "seed": 42
  }
}
Common image params:
ParamTypeDescription
sizestringe.g. 1024x1024, 1024x1792, 768x1344
formatstringwebp (default), png, jpeg
qualitystringstandard or hd (DALL-E 3, GPT Image)
negative_promptstringWhat to exclude (Flux, SD models)
seedintegerFor reproducible results
aspect_ratiostringe.g. 16:9, 9:16 (Midjourney)

Video Generation

{
  "model": "kling-v2.1-pro",
  "prompt": "A drone flyover of a futuristic city at night, cinematic",
  "params": {
    "duration": 5,
    "aspect_ratio": "16:9",
    "image_url": "https://example.com/start-frame.jpg"
  }
}
Video generations return status: "pending". Poll GET /api/v2/generate/{id} for the result.

TTS / Voice

{
  "model": "elevenlabs-v2",
  "prompt": "Welcome to NeuralBox. Your AI-powered creative studio.",
  "params": {
    "voice_id": "rachel",
    "speed": 1.0,
    "format": "mp3"
  }
}

Response

id
integer
Generation ID (integer). Use for polling: GET /api/v2/generate/{id}
status
string
completed | pending | failed
model_slug
string
The model used.
result_text
string | null
Text output. Present for LLM, STT, and tool responses.
result_url
string | null
File URL. Present for image, video, audio, and TTS responses.
thumbnail_url
string | null
Thumbnail URL for video results.
error
string | null
Error message if status is failed.
tokens_spent
integer
NeuralBox tokens deducted. Zero if failed.
processing_ms
integer
Processing time in milliseconds.
result_metadata
object | null
Additional data: width, height for images; duration for video/audio; etc.

Response Example — Text

{
  "id": 18473,
  "status": "completed",
  "model_slug": "claude-sonnet-4.5",
  "result_text": "Introducing our Premium Wireless Headphones...",
  "result_url": null,
  "thumbnail_url": null,
  "error": null,
  "tokens_spent": 3,
  "processing_ms": 2104,
  "result_metadata": null
}

Response Example — Image

{
  "id": 18491,
  "status": "completed",
  "model_slug": "flux-1.1-pro",
  "result_text": null,
  "result_url": "https://storage.neuralbox.top/generations/18491.webp",
  "thumbnail_url": null,
  "tokens_spent": 8,
  "processing_ms": 6840,
  "result_metadata": {
    "width": 1024,
    "height": 1024
  }
}

Response Example — Pending (Video)

{
  "id": 18502,
  "status": "pending",
  "model_slug": "kling-v2.1-pro",
  "result_text": null,
  "result_url": null,
  "tokens_spent": 0,
  "processing_ms": null,
  "result_metadata": null
}