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: Bearer nb_YOUR_API_KEY
The prompt or input text. For text models: the user message. For image/video: the visual description.
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:
| Param | Type | Description |
|---|
size | string | e.g. 1024x1024, 1024x1792, 768x1344 |
format | string | webp (default), png, jpeg |
quality | string | standard or hd (DALL-E 3, GPT Image) |
negative_prompt | string | What to exclude (Flux, SD models) |
seed | integer | For reproducible results |
aspect_ratio | string | e.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
Generation ID (integer). Use for polling: GET /api/v2/generate/{id}
completed | pending | failed
Text output. Present for LLM, STT, and tool responses.
File URL. Present for image, video, audio, and TTS responses.
Thumbnail URL for video results.
Error message if status is failed.
NeuralBox tokens deducted. Zero if failed.
Processing time in milliseconds.
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
}