Pixazo API→Models→Nemotron
Pixazo API→Models→Nemotron

Nemotron 3.5 Super API: Pricing, Documentation

by NVIDIA

Nemotron API provides advanced multimodal processing that seamlessly transforms visual media into actionable text. By integrating state-of-the-art vision and audio processing, the system can deeply analyze both static images and dynamic video files to generate precise descriptions, structured transcriptions, and context-aware summaries. Whether extracting complex data structures from document images or reasoning through a chronological video sequence, the API bridges the gap between rich sensory data and clear textual analysis.

Get API Key
Nemotron 3.5 Super API

Models Version

WELCOME BONUS

Get 10% Cashback on Your First Payment (up to $500)

Add funds and get 10% cashback on your first payment (up to $500).

Claim Your Cashback →

Nemotron 3.5 Super API Documentation

Ask NVIDIA Nemotron 3.5 Super a question or give it a task in prompt, with optional instructions in system_prompt. Set reasoning_mode to think to also get the model's reasoning, and cap the answer with max_tokens. Asynchronous: submit returns a request_id; poll the status endpoint until the request is COMPLETED, then read the answer from output.output.

POST https://gateway.pixazo.ai/nemotron-3-5-super-text/v1/text-to-text

Authentication

All requests require an API key passed via header.

HeaderTypeRequiredDescription
Ocp-Apim-Subscription-KeystringYesYour API subscription key

Text to Text - Nemotron 3.5 Super Text

Request Code

POST https://gateway.pixazo.ai/nemotron-3-5-super-text/v1/text-to-text
Content-Type: application/json
Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY

{
  "prompt": "Explain in two sentences why the sky looks blue.",
  "max_tokens": 256
}
import requests

url = "https://gateway.pixazo.ai/nemotron-3-5-super-text/v1/text-to-text"
headers = {
    "Content-Type": "application/json",
    "Ocp-Apim-Subscription-Key": "YOUR_SUBSCRIPTION_KEY"
}
data = {
  "prompt": "Explain in two sentences why the sky looks blue.",
  "max_tokens": 256
}

resp = requests.post(url, json=data, headers=headers)
print(resp.json())
const res = await fetch("https://gateway.pixazo.ai/nemotron-3-5-super-text/v1/text-to-text", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "Ocp-Apim-Subscription-Key": "YOUR_SUBSCRIPTION_KEY"
  },
  body: JSON.stringify({
  "prompt": "Explain in two sentences why the sky looks blue.",
  "max_tokens": 256
})
});
console.log(await res.json());
curl -X POST 'https://gateway.pixazo.ai/nemotron-3-5-super-text/v1/text-to-text' \
  -H 'Content-Type: application/json' \
  -H 'Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY' \
  --data-raw '{"prompt": "Explain in two sentences why the sky looks blue.", "max_tokens": 256}'

Output

{
  "request_id": "nemotron-3-5-super-text_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "QUEUED",
  "polling_url": "https://gateway.pixazo.ai/v2/requests/status/nemotron-3-5-super-text_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

Webhook (Optional)

Instead of polling, you can receive a Webhook callback when the request reaches a terminal state. Provide a Webhook URL via header on the submit request.

HeaderRequiredDescription
X-Webhook-URLTo enableHTTPS URL to receive the Webhook callback.
X-Webhook-ModeNoterminal (default, one callback on COMPLETED/ERROR) or sync (per-poll callbacks).

Example: enable Webhook

curl -X POST 'https://gateway.pixazo.ai/nemotron-3-5-super-text/v1/text-to-text' \
  -H 'Content-Type: application/json' \
  -H 'Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY' \
  -H 'X-Webhook-URL: https://your-server.com/webhook' \
  --data-raw '{"prompt": "Explain in two sentences why the sky looks blue.", "max_tokens": 256}'

Callback Payload (success)

{
  "request_id": "nemotron-3-5-super-text_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "COMPLETED",
  "model_id": "nemotron-3-5-super-text",
  "error": null,
  "output": {
    "media_url": [
      "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/{request_id}/output.json"
    ],
    "media_type": "application/json",
    "output": "The answer.",
    "finish_reason": "stop",
    "usage": {
      "input_tokens": 52,
      "output_tokens": 61
    }
  },
  "created_at": "2026-10-09T10:04:54.387Z",
  "completed_at": "2026-10-09 10:06:21"
}

Failure callback shape

{
  "request_id": "nemotron-3-5-super-text_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "ERROR",
  "model_id": "nemotron-3-5-super-text",
  "error": "Description of the failure"
}

Delivery semantics

  • terminal mode: one Webhook callback when the request is COMPLETED or ERROR.
  • sync mode: a Webhook callback on every poll while the request is processing (status PROCESSING), plus the final COMPLETED/ERROR callback.
  • Callbacks are idempotent on request_id — de-duplicate on it.
  • Respond 200 within a few seconds; the Webhook endpoint must be HTTPS.

Request Parameters

ParameterRequiredTypeDefaultAllowed values / rangeDescription
promptYesstring—Non-empty text, up to 100000 charactersYour question or task.
system_promptNostring—Text, up to 20000 charactersInstructions that steer how the model answers, for example Answer in one sentence.
reasoning_modeNostring"no_think"think, no_thinkthink returns the model's reasoning in output.reasoning before the answer; no_think answers directly.
max_tokensNointeger1024Whole number, 1 to 32000The most tokens the model may generate, reasoning included. A small value can cut the answer short (see Reasoning and max_tokens below).
temperatureNonumber10 to 2Sampling temperature: lower values give more focused answers.
top_pNonumber0.950.01 to 1Nucleus sampling: the share of probability mass the model samples from.
enable_safety_checkerNobooleantruetrue, falseCheck the request for unsafe content.

Good to know

  • Each request returns one answer. batch_size, num_images, number_of_images, n and count are rejected — send one request per answer.
  • This API has no length setting: use max_tokens to cap the answer. duration, seconds, num_frames, frames_per_second and music_length_ms are rejected.
  • Send every field at the top level of the JSON body; parameters, content and text are rejected.
  • max_tokens takes a whole number from 1 to 32000 (1024 when you leave it out); any other value is refused at submit.
  • image_url, video_url, image_urls and video_urls are rejected (this endpoint answers text only: use Nemotron 3.5 Super Vision for an image or Nemotron 3.5 Super Video for a video).
  • messages is rejected (send the question as prompt).
  • max_new_tokens and max_completion_tokens are rejected (use max_tokens).
  • Use the JSON types shown: prompt, system_prompt and reasoning_mode are strings, max_tokens is a whole number (not "1024"), temperature and top_p are numbers, and enable_safety_checker is true or false.
  • Omit a field instead of sending null.
  • Results are always returned as a URL in output.media_url; sync_mode is accepted only as false.
  • Webhooks are set with the X-Webhook-URL / X-Webhook-Mode headers; webhook_url, webhook_mode and callback_url in the JSON body are rejected.
  • stream is not supported: the result is delivered when the job completes.
  • Options this API does not offer are rejected: input and model.

Reasoning and max_tokens

  • max_tokens caps everything the model generates, its reasoning included. When the cap is reached, output.finish_reason is length instead of stop.
  • With reasoning_mode think, the reasoning comes first: a small max_tokens can be used up by the reasoning, and output.output is then an empty string. Allow a few thousand tokens for think.
  • An empty or cut-short answer is billed like any other: you pay for the tokens used, shown in output.usage.

Example: show the reasoning

{
  "prompt": "Is 1001 a prime number? Answer yes or no.",
  "reasoning_mode": "think",
  "max_tokens": 4096
}

Instructions

  • Put standing instructions (tone, length, format) in system_prompt and the question itself in prompt.
  • There is no conversation history: each request stands alone. To continue a conversation, include the earlier turns in prompt.

Example: instructions in system_prompt

{
  "system_prompt": "You are a concise assistant. Answer in one sentence.",
  "prompt": "What does an API gateway do?",
  "temperature": 0.6
}

Example Request

{
  "prompt": "Explain in two sentences why the sky looks blue.",
  "max_tokens": 256
}

Example Response

{
  "request_id": "nemotron-3-5-super-text_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "QUEUED",
  "polling_url": "https://gateway.pixazo.ai/v2/requests/status/nemotron-3-5-super-text_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

Request Headers

HeaderRequiredDescription
Content-TypeYesapplication/json
Ocp-Apim-Subscription-KeyYesYour API subscription key.
X-Webhook-URLNoEnable Webhook callbacks (see Webhook section).
X-Webhook-ModeNoterminal (default) or sync (see Webhook section).

Response Handling

Status CodeMeaning
202Accepted — request queued; returns request_id and polling_url.
400Invalid request — a required field is missing, a value has the wrong type, is too long, out of range or not one of the allowed values, or a field this operation does not accept was sent. The message says what to fix.
401Unauthorized — missing or invalid subscription key.
402Insufficient balance for the hold this request needs.
429Too many requests.
500Internal server error.

Parameter problems are caught when you submit and returned as a 400, before any hold is placed on your balance. Problems that need the model to run are reported through the status endpoint as status: "ERROR", with a message in error saying what went wrong. Failed requests are not billed — the hold is released in full.

ConditionHow it surfaces
Missing or invalid subscription keysynchronous 401
Balance too low for the holdsynchronous 402
Missing or empty prompt, prompt not a string, or longer than 100000 characterssynchronous 400
system_prompt not a string, or longer than 20000 characterssynchronous 400
reasoning_mode not one of the allowed values (written exactly as listed)synchronous 400
enable_safety_checker not true or false — for example the string "true"synchronous 400
max_tokens not a whole number from 1 to 32000 — for example 0, 32001 or the string "1"synchronous 400
temperature not a number — for example the string "5"synchronous 400
top_p not a number — for example the string "5"synchronous 400
sync_mode set to anything other than false (results are always returned as a URL in output.media_url)synchronous 400
image_url, video_url, image_urls, video_urls (this endpoint answers text only: use Nemotron 3.5 Super Vision for an image or Nemotron 3.5 Super Video for a video)synchronous 400
messages (send the question as prompt)synchronous 400
max_new_tokens, max_completion_tokens (use max_tokens)synchronous 400
batch_size, num_images, number_of_images, n, count (one answer per request)synchronous 400
duration, seconds, num_frames, frames_per_second, music_length_ms (use max_tokens to cap the answer)synchronous 400
parameters, content, text (send the fields at the top level of the JSON body)synchronous 400
webhook_url, webhook_mode, callback_url in the JSON body (use the X-Webhook-URL / X-Webhook-Mode headers)synchronous 400
stream (the result is delivered when the job completes)synchronous 400
input, model (not accepted by this operation)synchronous 400
A request the model refuses, for example under its content policy (the safety checker)status: "ERROR"

Example error responses

A refused request returns error, a message that joins every problem found, and the same problems one by one in violations.

Missing prompt (synchronous 400)

{
  "error": "Invalid request parameters",
  "message": "'prompt' is required",
  "violations": [
    "'prompt' is required"
  ]
}

max_tokens above 32000 (synchronous 400)

{
  "error": "Invalid request parameters",
  "message": "'max_tokens' must be <= 32000 (got 40000)",
  "violations": [
    "'max_tokens' must be <= 32000 (got 40000)"
  ]
}

A chat-style messages list (synchronous 400)

{
  "error": "Invalid request parameters",
  "message": "'prompt' is required; 'messages' must be one of:  (got [{\"role\":\"user\",\"content\":\"Hello\"}]); 'messages' is not accepted. Send the question as 'prompt' and optional instructions as 'system_prompt'.",
  "violations": [
    "'prompt' is required",
    "'messages' must be one of:  (got [{\"role\":\"user\",\"content\":\"Hello\"}])",
    "'messages' is not accepted. Send the question as 'prompt' and optional instructions as 'system_prompt'."
  ]
}

An image sent to the text endpoint (synchronous 400)

{
  "error": "Invalid request parameters",
  "message": "'image_url' must be one of:  (got \"https://pub-582b7213209642b9b995c96c95a30381.r2.dev/doc-assets/images/input.jpg\"); 'image_url' is not accepted. This endpoint answers text only: use nemotron-3-5-super-vision for an image or nemotron-3-5-super-video for a video.",
  "violations": [
    "'image_url' must be one of:  (got \"https://pub-582b7213209642b9b995c96c95a30381.r2.dev/doc-assets/images/input.jpg\")",
    "'image_url' is not accepted. This endpoint answers text only: use nemotron-3-5-super-vision for an image or nemotron-3-5-super-video for a video."
  ]
}

More than one answer per request (synchronous 400)

{
  "error": "Invalid request parameters",
  "message": "'n' must be one of:  (got 2); 'n' is not supported: each request returns one answer. Send one request per question.",
  "violations": [
    "'n' must be one of:  (got 2)",
    "'n' is not supported: each request returns one answer. Send one request per question."
  ]
}

Retrieving Results

Poll the status endpoint with the request_id from the submit response until status is COMPLETED or ERROR, then read the answer in output.output (the same JSON is stored as a file at output.media_url[0]). Treat any status other than QUEUED, PROCESSING or COMPLETED as a failure.

Endpoint

GET https://gateway.pixazo.ai/v2/requests/status/{request_id}
Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY

cURL example

curl 'https://gateway.pixazo.ai/v2/requests/status/nemotron-3-5-super-text_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' \
  -H 'Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY'

Completed response

{
  "request_id": "nemotron-3-5-super-text_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "COMPLETED",
  "model_id": "nemotron-3-5-super-text",
  "error": null,
  "output": {
    "media_url": [
      "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/{request_id}/output.json"
    ],
    "media_type": "application/json",
    "output": "The answer.",
    "finish_reason": "stop",
    "usage": {
      "input_tokens": 52,
      "output_tokens": 61
    }
  },
  "created_at": "2026-10-09T10:04:54.387Z",
  "completed_at": "2026-10-09 10:06:21"
}

Response Fields

FieldTypeDescription
request_idstringUnique request identifier.
statusstringQUEUED, PROCESSING, COMPLETED or ERROR.
model_idstringThe model that handled the request — nemotron-3-5-super-text for this endpoint.
output.outputstringThe answer. It can be empty when max_tokens runs out during the reasoning.
output.reasoningstringThe model's reasoning, only with reasoning_mode think.
output.finish_reasonstringstop (the answer is complete) or length (max_tokens was reached).
output.usageobjectinput_tokens and output_tokens: what the request is billed for.
output.truncatedbooleanPresent and true only when a text longer than 32 KB was shortened in this response; the file at output.media_url[0] holds it in full.
output.media_urlarray of stringsURL of a JSON file holding the same fields in full.
output.media_typestringapplication/json.
created_atstringRequest creation timestamp.
completed_atstringCompletion timestamp.
errorstringError message when status is ERROR.
polling_urlstringStatus URL for this request (submit response only).

Status Values & Flow

QUEUED → PROCESSING → COMPLETED (success) or ERROR (failure).

Typical workflow

  1. Send the request to POST https://gateway.pixazo.ai/nemotron-3-5-super-text/v1/text-to-text.
  2. Save the request_id from the 202 response.
  3. Poll GET /v2/requests/status/{request_id} every 10 seconds or so, or use a Webhook instead.
  4. When status is COMPLETED, read the answer in output.output (the same JSON is stored as a file at output.media_url[0]).

How Billing Is Measured

Billing is measured per 1,000 tokens of input plus output (your prompt and instructions count as input; the answer and any reasoning count as output), rounded up to the next 1,000, with a minimum of one unit per request. A hold for the most the request can use is placed when you submit; when the answer is ready, the charge is set from the tokens actually used, shown in output.usage, and the rest of the hold is released. A failed request is not charged. The current rate is shown in the pricing panel on this page.

Nemotron 3.5 Super API Pricing

Your request will cost $0.01 per 1,000 tokens.
Image to Text

Nemotron 3.5 Super API Documentation

Ask NVIDIA Nemotron 3.5 Super about one image: send the image in image_url (JPEG or PNG) and your question in prompt, for example to describe a scene or read text and charts. Asynchronous: submit returns a request_id; poll the status endpoint until the request is COMPLETED, then read the answer from output.output.

POST https://gateway.pixazo.ai/nemotron-3-5-super-vision/v1/image-to-text

Authentication

All requests require an API key passed via header.

HeaderTypeRequiredDescription
Ocp-Apim-Subscription-KeystringYesYour API subscription key

Image to Text - Nemotron 3.5 Super Vision

Request Code

POST https://gateway.pixazo.ai/nemotron-3-5-super-vision/v1/image-to-text
Content-Type: application/json
Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY

{
  "prompt": "Describe this image in one sentence.",
  "image_url": "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/doc-assets/images/input.jpg",
  "max_tokens": 256
}
import requests

url = "https://gateway.pixazo.ai/nemotron-3-5-super-vision/v1/image-to-text"
headers = {
    "Content-Type": "application/json",
    "Ocp-Apim-Subscription-Key": "YOUR_SUBSCRIPTION_KEY"
}
data = {
  "prompt": "Describe this image in one sentence.",
  "image_url": "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/doc-assets/images/input.jpg",
  "max_tokens": 256
}

resp = requests.post(url, json=data, headers=headers)
print(resp.json())
const res = await fetch("https://gateway.pixazo.ai/nemotron-3-5-super-vision/v1/image-to-text", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "Ocp-Apim-Subscription-Key": "YOUR_SUBSCRIPTION_KEY"
  },
  body: JSON.stringify({
  "prompt": "Describe this image in one sentence.",
  "image_url": "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/doc-assets/images/input.jpg",
  "max_tokens": 256
})
});
console.log(await res.json());
curl -X POST 'https://gateway.pixazo.ai/nemotron-3-5-super-vision/v1/image-to-text' \
  -H 'Content-Type: application/json' \
  -H 'Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY' \
  --data-raw '{"prompt": "Describe this image in one sentence.", "image_url": "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/doc-assets/images/input.jpg", "max_tokens": 256}'

Output

{
  "request_id": "nemotron-3-5-super-vision_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "QUEUED",
  "polling_url": "https://gateway.pixazo.ai/v2/requests/status/nemotron-3-5-super-vision_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

Webhook (Optional)

Instead of polling, you can receive a Webhook callback when the request reaches a terminal state. Provide a Webhook URL via header on the submit request.

HeaderRequiredDescription
X-Webhook-URLTo enableHTTPS URL to receive the Webhook callback.
X-Webhook-ModeNoterminal (default, one callback on COMPLETED/ERROR) or sync (per-poll callbacks).

Example: enable Webhook

curl -X POST 'https://gateway.pixazo.ai/nemotron-3-5-super-vision/v1/image-to-text' \
  -H 'Content-Type: application/json' \
  -H 'Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY' \
  -H 'X-Webhook-URL: https://your-server.com/webhook' \
  --data-raw '{"prompt": "Describe this image in one sentence.", "image_url": "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/doc-assets/images/input.jpg", "max_tokens": 256}'

Callback Payload (success)

{
  "request_id": "nemotron-3-5-super-vision_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "COMPLETED",
  "model_id": "nemotron-3-5-super-vision",
  "error": null,
  "output": {
    "media_url": [
      "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/{request_id}/output.json"
    ],
    "media_type": "application/json",
    "output": "The answer.",
    "finish_reason": "stop",
    "usage": {
      "input_tokens": 52,
      "output_tokens": 61
    }
  },
  "created_at": "2026-10-09T10:04:54.387Z",
  "completed_at": "2026-10-09 10:06:21"
}

Failure callback shape

{
  "request_id": "nemotron-3-5-super-vision_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "ERROR",
  "model_id": "nemotron-3-5-super-vision",
  "error": "Description of the failure"
}

Delivery semantics

  • terminal mode: one Webhook callback when the request is COMPLETED or ERROR.
  • sync mode: a Webhook callback on every poll while the request is processing (status PROCESSING), plus the final COMPLETED/ERROR callback.
  • Callbacks are idempotent on request_id — de-duplicate on it.
  • Respond 200 within a few seconds; the Webhook endpoint must be HTTPS.

Request Parameters

ParameterRequiredTypeDefaultAllowed values / rangeDescription
promptYesstring—Non-empty text, up to 100000 charactersYour question or task.
image_urlYesstring—A publicly reachable https URL (recommended) or a base64 data URI of a JPEG or PNG imageThe image to ask about. Other formats (WebP, GIF, HEIC, ...) are refused at submit.
system_promptNostring—Text, up to 20000 charactersInstructions that steer how the model answers, for example Answer in one sentence.
reasoning_modeNostring"no_think"think, no_thinkthink returns the model's reasoning in output.reasoning before the answer; no_think answers directly.
max_tokensNointeger1024Whole number, 1 to 32000The most tokens the model may generate, reasoning included. A small value can cut the answer short (see Reasoning and max_tokens below).
temperatureNonumber10 to 2Sampling temperature: lower values give more focused answers.
top_pNonumber0.950.01 to 1Nucleus sampling: the share of probability mass the model samples from.
enable_safety_checkerNobooleantruetrue, falseCheck the request for unsafe content.

Good to know

  • Each request returns one answer. batch_size, num_images, number_of_images, n and count are rejected — send one request per answer.
  • This API has no length setting: use max_tokens to cap the answer. duration, seconds, num_frames, frames_per_second and music_length_ms are rejected.
  • Send every field at the top level of the JSON body; parameters, content and text are rejected.
  • Send one image as image_url: a publicly reachable https URL (recommended) or a base64 data URI of a JPEG or PNG. An image in another format is refused at submit, with nothing charged.
  • max_tokens takes a whole number from 1 to 32000 (1024 when you leave it out); any other value is refused at submit.
  • video_url, video_urls and image_urls are rejected (this endpoint reads one image, as image_url; use Nemotron 3.5 Super Video for a video).
  • messages is rejected (send the question as prompt).
  • max_new_tokens and max_completion_tokens are rejected (use max_tokens).
  • Use the JSON types shown: prompt, system_prompt and reasoning_mode are strings, max_tokens is a whole number (not "1024"), temperature and top_p are numbers, and enable_safety_checker is true or false.
  • Omit a field instead of sending null.
  • Results are always returned as a URL in output.media_url; sync_mode is accepted only as false.
  • Webhooks are set with the X-Webhook-URL / X-Webhook-Mode headers; webhook_url, webhook_mode and callback_url in the JSON body are rejected.
  • stream is not supported: the result is delivered when the job completes.
  • Options this API does not offer are rejected: input and model.

Reasoning and max_tokens

  • max_tokens caps everything the model generates, its reasoning included. When the cap is reached, output.finish_reason is length instead of stop.
  • With reasoning_mode think, the reasoning comes first: a small max_tokens can be used up by the reasoning, and output.output is then an empty string. Allow a few thousand tokens for think.
  • An empty or cut-short answer is billed like any other: you pay for the tokens used, shown in output.usage.
  • The image counts as input tokens: a larger image uses more of them.

Example: show the reasoning

{
  "prompt": "How many people are in this image? Explain briefly.",
  "image_url": "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/doc-assets/images/input.jpg",
  "reasoning_mode": "think",
  "max_tokens": 4096
}

Example Request

{
  "prompt": "Describe this image in one sentence.",
  "image_url": "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/doc-assets/images/input.jpg",
  "max_tokens": 256
}

Example Response

{
  "request_id": "nemotron-3-5-super-vision_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "QUEUED",
  "polling_url": "https://gateway.pixazo.ai/v2/requests/status/nemotron-3-5-super-vision_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

Request Headers

HeaderRequiredDescription
Content-TypeYesapplication/json
Ocp-Apim-Subscription-KeyYesYour API subscription key.
X-Webhook-URLNoEnable Webhook callbacks (see Webhook section).
X-Webhook-ModeNoterminal (default) or sync (see Webhook section).

Response Handling

Status CodeMeaning
202Accepted — request queued; returns request_id and polling_url.
400Invalid request — a required field is missing, a value has the wrong type, is too long, out of range or not one of the allowed values, or a field this operation does not accept was sent. The message says what to fix.
401Unauthorized — missing or invalid subscription key.
402Insufficient balance for the hold this request needs.
429Too many requests.
500Internal server error.

Parameter problems are caught when you submit and returned as a 400, before any hold is placed on your balance. Problems that need the model to run are reported through the status endpoint as status: "ERROR", with a message in error saying what went wrong. Failed requests are not billed — the hold is released in full.

ConditionHow it surfaces
Missing or invalid subscription keysynchronous 401
Balance too low for the holdsynchronous 402
Missing or empty prompt, prompt not a string, or longer than 100000 characterssynchronous 400
Missing or empty image_url, image_url not a stringsynchronous 400
system_prompt not a string, or longer than 20000 characterssynchronous 400
reasoning_mode not one of the allowed values (written exactly as listed)synchronous 400
enable_safety_checker not true or false — for example the string "true"synchronous 400
max_tokens not a whole number from 1 to 32000 — for example 0, 32001 or the string "1"synchronous 400
temperature not a number — for example the string "5"synchronous 400
top_p not a number — for example the string "5"synchronous 400
sync_mode set to anything other than false (results are always returned as a URL in output.media_url)synchronous 400
video_url, video_urls, image_urls (this endpoint reads one image, as image_url; use Nemotron 3.5 Super Video for a video)synchronous 400
messages (send the question as prompt)synchronous 400
max_new_tokens, max_completion_tokens (use max_tokens)synchronous 400
batch_size, num_images, number_of_images, n, count (one answer per request)synchronous 400
duration, seconds, num_frames, frames_per_second, music_length_ms (use max_tokens to cap the answer)synchronous 400
parameters, content, text (send the fields at the top level of the JSON body)synchronous 400
webhook_url, webhook_mode, callback_url in the JSON body (use the X-Webhook-URL / X-Webhook-Mode headers)synchronous 400
stream (the result is delivered when the job completes)synchronous 400
input, model (not accepted by this operation)synchronous 400
An image_url whose file is not a JPEG or PNG image (for example WebP, GIF or HEIC)synchronous 400
An image that cannot be downloaded or readstatus: "ERROR"
A request the model refuses, for example under its content policy (the safety checker)status: "ERROR"

Example error responses

A refused request returns error, a message that joins every problem found, and the same problems one by one in violations.

Missing image_url (synchronous 400)

{
  "error": "Invalid request parameters",
  "message": "'image_url' is required",
  "violations": [
    "'image_url' is required"
  ]
}

A reasoning mode that does not exist (synchronous 400)

{
  "error": "Invalid request parameters",
  "message": "'reasoning_mode' must be one of: \"think\", \"no_think\" (got \"deep\")",
  "violations": [
    "'reasoning_mode' must be one of: \"think\", \"no_think\" (got \"deep\")"
  ]
}

A video sent to the image endpoint (synchronous 400)

{
  "error": "Invalid request parameters",
  "message": "'video_url' must be one of:  (got \"https://pub-582b7213209642b9b995c96c95a30381.r2.dev/doc-assets/video/input-5s.mp4\"); 'video_url' is not accepted. This endpoint reads one image: use nemotron-3-5-super-video for a video.",
  "violations": [
    "'video_url' must be one of:  (got \"https://pub-582b7213209642b9b995c96c95a30381.r2.dev/doc-assets/video/input-5s.mp4\")",
    "'video_url' is not accepted. This endpoint reads one image: use nemotron-3-5-super-video for a video."
  ]
}

More than one image per request (synchronous 400)

{
  "error": "Invalid request parameters",
  "message": "'image_urls' must be one of:  (got [\"https://pub-582b7213209642b9b995c96c95a30381.r2.dev/doc-assets/images/input.jpg\",\"https://pub-582b7213209642b9b995c96c95a30381.r2.dev/doc-assets/images/input.jpg\"]); 'image_urls' is not accepted: each request reads at most one image, as 'image_url' (nemotron-3-5-super-vision).",
  "violations": [
    "'image_urls' must be one of:  (got [\"https://pub-582b7213209642b9b995c96c95a30381.r2.dev/doc-assets/images/input.jpg\",\"https://pub-582b7213209642b9b995c96c95a30381.r2.dev/doc-assets/images/input.jpg\"])",
    "'image_urls' is not accepted: each request reads at most one image, as 'image_url' (nemotron-3-5-super-vision)."
  ]
}

top_p of 0 (synchronous 400)

{
  "error": "Invalid request parameters",
  "message": "'top_p' must be >= 0.01 (got 0)",
  "violations": [
    "'top_p' must be >= 0.01 (got 0)"
  ]
}

Retrieving Results

Poll the status endpoint with the request_id from the submit response until status is COMPLETED or ERROR, then read the answer in output.output (the same JSON is stored as a file at output.media_url[0]). Treat any status other than QUEUED, PROCESSING or COMPLETED as a failure.

Endpoint

GET https://gateway.pixazo.ai/v2/requests/status/{request_id}
Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY

cURL example

curl 'https://gateway.pixazo.ai/v2/requests/status/nemotron-3-5-super-vision_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' \
  -H 'Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY'

Completed response

{
  "request_id": "nemotron-3-5-super-vision_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "COMPLETED",
  "model_id": "nemotron-3-5-super-vision",
  "error": null,
  "output": {
    "media_url": [
      "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/{request_id}/output.json"
    ],
    "media_type": "application/json",
    "output": "The answer.",
    "finish_reason": "stop",
    "usage": {
      "input_tokens": 52,
      "output_tokens": 61
    }
  },
  "created_at": "2026-10-09T10:04:54.387Z",
  "completed_at": "2026-10-09 10:06:21"
}

Response Fields

FieldTypeDescription
request_idstringUnique request identifier.
statusstringQUEUED, PROCESSING, COMPLETED or ERROR.
model_idstringThe model that handled the request — nemotron-3-5-super-vision for this endpoint.
output.outputstringThe answer. It can be empty when max_tokens runs out during the reasoning.
output.reasoningstringThe model's reasoning, only with reasoning_mode think.
output.finish_reasonstringstop (the answer is complete) or length (max_tokens was reached).
output.usageobjectinput_tokens and output_tokens: what the request is billed for.
output.truncatedbooleanPresent and true only when a text longer than 32 KB was shortened in this response; the file at output.media_url[0] holds it in full.
output.media_urlarray of stringsURL of a JSON file holding the same fields in full.
output.media_typestringapplication/json.
created_atstringRequest creation timestamp.
completed_atstringCompletion timestamp.
errorstringError message when status is ERROR.
polling_urlstringStatus URL for this request (submit response only).

Status Values & Flow

QUEUED → PROCESSING → COMPLETED (success) or ERROR (failure).

Typical workflow

  1. Send the request to POST https://gateway.pixazo.ai/nemotron-3-5-super-vision/v1/image-to-text.
  2. Save the request_id from the 202 response.
  3. Poll GET /v2/requests/status/{request_id} every 10 seconds or so, or use a Webhook instead.
  4. When status is COMPLETED, read the answer in output.output (the same JSON is stored as a file at output.media_url[0]).

How Billing Is Measured

Billing is measured per 1,000 tokens of input plus output (your prompt, instructions and the image count as input; the answer and any reasoning count as output), rounded up to the next 1,000, with a minimum of one unit per request. A hold for the most the request can use is placed when you submit; when the answer is ready, the charge is set from the tokens actually used, shown in output.usage, and the rest of the hold is released. A failed request is not charged. The current rate is shown in the pricing panel on this page.

Nemotron 3.5 Super API Pricing

Your request will cost $0.01 per 1,000 tokens.
Video to Text

Nemotron 3.5 Super API Documentation

Ask NVIDIA Nemotron 3.5 Super about one video: send the video in video_url (MP4, 2 minutes or less) and your question in prompt, for example to summarize what happens or find a moment. Asynchronous: submit returns a request_id; poll the status endpoint until the request is COMPLETED, then read the answer from output.output.

POST https://gateway.pixazo.ai/nemotron-3-5-super-video/v1/video-to-text

Authentication

All requests require an API key passed via header.

HeaderTypeRequiredDescription
Ocp-Apim-Subscription-KeystringYesYour API subscription key

Video to Text - Nemotron 3.5 Super Video

Request Code

POST https://gateway.pixazo.ai/nemotron-3-5-super-video/v1/video-to-text
Content-Type: application/json
Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY

{
  "prompt": "Summarize what happens in this video in one sentence.",
  "video_url": "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/doc-assets/video/input-5s.mp4",
  "max_tokens": 256
}
import requests

url = "https://gateway.pixazo.ai/nemotron-3-5-super-video/v1/video-to-text"
headers = {
    "Content-Type": "application/json",
    "Ocp-Apim-Subscription-Key": "YOUR_SUBSCRIPTION_KEY"
}
data = {
  "prompt": "Summarize what happens in this video in one sentence.",
  "video_url": "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/doc-assets/video/input-5s.mp4",
  "max_tokens": 256
}

resp = requests.post(url, json=data, headers=headers)
print(resp.json())
const res = await fetch("https://gateway.pixazo.ai/nemotron-3-5-super-video/v1/video-to-text", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "Ocp-Apim-Subscription-Key": "YOUR_SUBSCRIPTION_KEY"
  },
  body: JSON.stringify({
  "prompt": "Summarize what happens in this video in one sentence.",
  "video_url": "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/doc-assets/video/input-5s.mp4",
  "max_tokens": 256
})
});
console.log(await res.json());
curl -X POST 'https://gateway.pixazo.ai/nemotron-3-5-super-video/v1/video-to-text' \
  -H 'Content-Type: application/json' \
  -H 'Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY' \
  --data-raw '{"prompt": "Summarize what happens in this video in one sentence.", "video_url": "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/doc-assets/video/input-5s.mp4", "max_tokens": 256}'

Output

{
  "request_id": "nemotron-3-5-super-video_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "QUEUED",
  "polling_url": "https://gateway.pixazo.ai/v2/requests/status/nemotron-3-5-super-video_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

Webhook (Optional)

Instead of polling, you can receive a Webhook callback when the request reaches a terminal state. Provide a Webhook URL via header on the submit request.

HeaderRequiredDescription
X-Webhook-URLTo enableHTTPS URL to receive the Webhook callback.
X-Webhook-ModeNoterminal (default, one callback on COMPLETED/ERROR) or sync (per-poll callbacks).

Example: enable Webhook

curl -X POST 'https://gateway.pixazo.ai/nemotron-3-5-super-video/v1/video-to-text' \
  -H 'Content-Type: application/json' \
  -H 'Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY' \
  -H 'X-Webhook-URL: https://your-server.com/webhook' \
  --data-raw '{"prompt": "Summarize what happens in this video in one sentence.", "video_url": "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/doc-assets/video/input-5s.mp4", "max_tokens": 256}'

Callback Payload (success)

{
  "request_id": "nemotron-3-5-super-video_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "COMPLETED",
  "model_id": "nemotron-3-5-super-video",
  "error": null,
  "output": {
    "media_url": [
      "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/{request_id}/output.json"
    ],
    "media_type": "application/json",
    "output": "The answer.",
    "finish_reason": "stop",
    "usage": {
      "input_tokens": 52,
      "output_tokens": 61
    }
  },
  "created_at": "2026-10-09T10:04:54.387Z",
  "completed_at": "2026-10-09 10:06:21"
}

Failure callback shape

{
  "request_id": "nemotron-3-5-super-video_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "ERROR",
  "model_id": "nemotron-3-5-super-video",
  "error": "Description of the failure"
}

Delivery semantics

  • terminal mode: one Webhook callback when the request is COMPLETED or ERROR.
  • sync mode: a Webhook callback on every poll while the request is processing (status PROCESSING), plus the final COMPLETED/ERROR callback.
  • Callbacks are idempotent on request_id — de-duplicate on it.
  • Respond 200 within a few seconds; the Webhook endpoint must be HTTPS.

Request Parameters

ParameterRequiredTypeDefaultAllowed values / rangeDescription
promptYesstring—Non-empty text, up to 100000 charactersYour question or task.
video_urlYesstring—A publicly reachable https URL (recommended) or a base64 data URI of an MP4 video of 2 minutes or lessThe video to ask about. A video measured longer than 2 minutes is refused at submit.
system_promptNostring—Text, up to 20000 charactersInstructions that steer how the model answers, for example Answer in one sentence.
reasoning_modeNostring"no_think"think, no_thinkthink returns the model's reasoning in output.reasoning before the answer; no_think answers directly.
max_tokensNointeger1024Whole number, 1 to 32000The most tokens the model may generate, reasoning included. A small value can cut the answer short (see Reasoning and max_tokens below).
temperatureNonumber10 to 2Sampling temperature: lower values give more focused answers.
top_pNonumber0.950.01 to 1Nucleus sampling: the share of probability mass the model samples from.
enable_safety_checkerNobooleantruetrue, falseCheck the request for unsafe content.

Good to know

  • Each request returns one answer. batch_size, num_images, number_of_images, n and count are rejected — send one request per answer.
  • This API has no length setting: use max_tokens to cap the answer. duration, seconds, num_frames, frames_per_second and music_length_ms are rejected.
  • Send every field at the top level of the JSON body; parameters, content and text are rejected.
  • Send one video as video_url: a publicly reachable https URL (recommended) or a base64 data URI of an MP4 of 2 minutes or less. A video measured longer than 2 minutes is refused at submit, with nothing charged.
  • max_tokens takes a whole number from 1 to 32000 (1024 when you leave it out); any other value is refused at submit.
  • image_url, image_urls and video_urls are rejected (this endpoint reads one video, as video_url; use Nemotron 3.5 Super Vision for an image).
  • messages is rejected (send the question as prompt).
  • max_new_tokens and max_completion_tokens are rejected (use max_tokens).
  • Use the JSON types shown: prompt, system_prompt and reasoning_mode are strings, max_tokens is a whole number (not "1024"), temperature and top_p are numbers, and enable_safety_checker is true or false.
  • Omit a field instead of sending null.
  • Results are always returned as a URL in output.media_url; sync_mode is accepted only as false.
  • Webhooks are set with the X-Webhook-URL / X-Webhook-Mode headers; webhook_url, webhook_mode and callback_url in the JSON body are rejected.
  • stream is not supported: the result is delivered when the job completes.
  • Options this API does not offer are rejected: input and model.

Reasoning and max_tokens

  • max_tokens caps everything the model generates, its reasoning included. When the cap is reached, output.finish_reason is length instead of stop.
  • With reasoning_mode think, the reasoning comes first: a small max_tokens can be used up by the reasoning, and output.output is then an empty string. Allow a few thousand tokens for think.
  • An empty or cut-short answer is billed like any other: you pay for the tokens used, shown in output.usage.
  • The video counts as input tokens: a longer video uses more of them. The content of the frames does not change the count.

Example: show the reasoning

{
  "prompt": "What changes between the start and the end of this video?",
  "video_url": "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/doc-assets/video/input-5s.mp4",
  "reasoning_mode": "think",
  "max_tokens": 4096
}

Example Request

{
  "prompt": "Summarize what happens in this video in one sentence.",
  "video_url": "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/doc-assets/video/input-5s.mp4",
  "max_tokens": 256
}

Example Response

{
  "request_id": "nemotron-3-5-super-video_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "QUEUED",
  "polling_url": "https://gateway.pixazo.ai/v2/requests/status/nemotron-3-5-super-video_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

Request Headers

HeaderRequiredDescription
Content-TypeYesapplication/json
Ocp-Apim-Subscription-KeyYesYour API subscription key.
X-Webhook-URLNoEnable Webhook callbacks (see Webhook section).
X-Webhook-ModeNoterminal (default) or sync (see Webhook section).

Response Handling

Status CodeMeaning
202Accepted — request queued; returns request_id and polling_url.
400Invalid request — a required field is missing, a value has the wrong type, is too long, out of range or not one of the allowed values, or a field this operation does not accept was sent. The message says what to fix.
401Unauthorized — missing or invalid subscription key.
402Insufficient balance for the hold this request needs.
429Too many requests.
500Internal server error.

Parameter problems are caught when you submit and returned as a 400, before any hold is placed on your balance. Problems that need the model to run are reported through the status endpoint as status: "ERROR", with a message in error saying what went wrong. Failed requests are not billed — the hold is released in full.

ConditionHow it surfaces
Missing or invalid subscription keysynchronous 401
Balance too low for the holdsynchronous 402
Missing or empty prompt, prompt not a string, or longer than 100000 characterssynchronous 400
Missing or empty video_url, video_url not a stringsynchronous 400
system_prompt not a string, or longer than 20000 characterssynchronous 400
reasoning_mode not one of the allowed values (written exactly as listed)synchronous 400
enable_safety_checker not true or false — for example the string "true"synchronous 400
max_tokens not a whole number from 1 to 32000 — for example 0, 32001 or the string "1"synchronous 400
temperature not a number — for example the string "5"synchronous 400
top_p not a number — for example the string "5"synchronous 400
sync_mode set to anything other than false (results are always returned as a URL in output.media_url)synchronous 400
image_url, image_urls, video_urls (this endpoint reads one video, as video_url; use Nemotron 3.5 Super Vision for an image)synchronous 400
messages (send the question as prompt)synchronous 400
max_new_tokens, max_completion_tokens (use max_tokens)synchronous 400
batch_size, num_images, number_of_images, n, count (one answer per request)synchronous 400
duration, seconds, num_frames, frames_per_second, music_length_ms (use max_tokens to cap the answer)synchronous 400
parameters, content, text (send the fields at the top level of the JSON body)synchronous 400
webhook_url, webhook_mode, callback_url in the JSON body (use the X-Webhook-URL / X-Webhook-Mode headers)synchronous 400
stream (the result is delivered when the job completes)synchronous 400
input, model (not accepted by this operation)synchronous 400
A video_url measured longer than 2 minutes (the response names the measured length)synchronous 400
A video that cannot be downloaded or read, or one the model does not acceptstatus: "ERROR"
A request the model refuses, for example under its content policy (the safety checker)status: "ERROR"

Example error responses

A refused request returns error, a message that joins every problem found, and the same problems one by one in violations.

Missing video_url (synchronous 400)

{
  "error": "Invalid request parameters",
  "message": "'video_url' is required",
  "violations": [
    "'video_url' is required"
  ]
}

A length setting (synchronous 400)

{
  "error": "Invalid request parameters",
  "message": "'duration' must be one of:  (got 10); 'duration' is not accepted: this API has no length setting. Use 'max_tokens' to cap the answer.",
  "violations": [
    "'duration' must be one of:  (got 10)",
    "'duration' is not accepted: this API has no length setting. Use 'max_tokens' to cap the answer."
  ]
}

An image sent to the video endpoint (synchronous 400)

{
  "error": "Invalid request parameters",
  "message": "'image_url' must be one of:  (got \"https://pub-582b7213209642b9b995c96c95a30381.r2.dev/doc-assets/images/input.jpg\"); 'image_url' is not accepted. This endpoint reads one video: use nemotron-3-5-super-vision for an image.",
  "violations": [
    "'image_url' must be one of:  (got \"https://pub-582b7213209642b9b995c96c95a30381.r2.dev/doc-assets/images/input.jpg\")",
    "'image_url' is not accepted. This endpoint reads one video: use nemotron-3-5-super-vision for an image."
  ]
}

max_tokens as a string (synchronous 400)

{
  "error": "Invalid request parameters",
  "message": "'max_tokens' must be integer (got string)",
  "violations": [
    "'max_tokens' must be integer (got string)"
  ]
}

Instructions inside an input object (synchronous 400)

{
  "error": "Invalid request parameters",
  "message": "'prompt' is required; 'input' must be one of:  (got {\"prompt\":\"Summarize what happens in this video in one sentence.\"}); 'input' is not accepted by this model. Send the fields at the top level of the JSON body.",
  "violations": [
    "'prompt' is required",
    "'input' must be one of:  (got {\"prompt\":\"Summarize what happens in this video in one sentence.\"})",
    "'input' is not accepted by this model. Send the fields at the top level of the JSON body."
  ]
}

Retrieving Results

Poll the status endpoint with the request_id from the submit response until status is COMPLETED or ERROR, then read the answer in output.output (the same JSON is stored as a file at output.media_url[0]). Treat any status other than QUEUED, PROCESSING or COMPLETED as a failure.

Endpoint

GET https://gateway.pixazo.ai/v2/requests/status/{request_id}
Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY

cURL example

curl 'https://gateway.pixazo.ai/v2/requests/status/nemotron-3-5-super-video_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' \
  -H 'Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY'

Completed response

{
  "request_id": "nemotron-3-5-super-video_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "COMPLETED",
  "model_id": "nemotron-3-5-super-video",
  "error": null,
  "output": {
    "media_url": [
      "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/{request_id}/output.json"
    ],
    "media_type": "application/json",
    "output": "The answer.",
    "finish_reason": "stop",
    "usage": {
      "input_tokens": 52,
      "output_tokens": 61
    }
  },
  "created_at": "2026-10-09T10:04:54.387Z",
  "completed_at": "2026-10-09 10:06:21"
}

Response Fields

FieldTypeDescription
request_idstringUnique request identifier.
statusstringQUEUED, PROCESSING, COMPLETED or ERROR.
model_idstringThe model that handled the request — nemotron-3-5-super-video for this endpoint.
output.outputstringThe answer. It can be empty when max_tokens runs out during the reasoning.
output.reasoningstringThe model's reasoning, only with reasoning_mode think.
output.finish_reasonstringstop (the answer is complete) or length (max_tokens was reached).
output.usageobjectinput_tokens and output_tokens: what the request is billed for.
output.truncatedbooleanPresent and true only when a text longer than 32 KB was shortened in this response; the file at output.media_url[0] holds it in full.
output.media_urlarray of stringsURL of a JSON file holding the same fields in full.
output.media_typestringapplication/json.
created_atstringRequest creation timestamp.
completed_atstringCompletion timestamp.
errorstringError message when status is ERROR.
polling_urlstringStatus URL for this request (submit response only).

Status Values & Flow

QUEUED → PROCESSING → COMPLETED (success) or ERROR (failure).

Typical workflow

  1. Send the request to POST https://gateway.pixazo.ai/nemotron-3-5-super-video/v1/video-to-text.
  2. Save the request_id from the 202 response.
  3. Poll GET /v2/requests/status/{request_id} every 10 seconds or so, or use a Webhook instead.
  4. When status is COMPLETED, read the answer in output.output (the same JSON is stored as a file at output.media_url[0]).

How Billing Is Measured

Billing is measured per 1,000 tokens of input plus output (your prompt, instructions and the video count as input; the answer and any reasoning count as output), rounded up to the next 1,000, with a minimum of one unit per request. A hold for the most the request can use is placed when you submit; when the answer is ready, the charge is set from the tokens actually used, shown in output.usage, and the rest of the hold is released. A failed request is not charged. The current rate is shown in the pricing panel on this page.

Nemotron 3.5 Super API Pricing

Your request will cost $0.01 per 1,000 tokens.

⚡ Performance

Live usage measured on Pixazo's gateway, split by model version. Generation time is how long a generation takes end-to-end (lower is better). Success rate is the percent of generations that complete (higher is better).

Show data for the last
Generations
300last 30d
~10 per day
Success rate
100.0%
of completed generations
Generation time
15.1savg
p95 17.7s
Requests
Sep 27max 300Oct 26
Nemotron 3.5 SuperAvg 10/day
Generation Time
Sep 27max 15.1sOct 26
Nemotron 3.5 SuperAvg 15.1s
Error Rate
Sep 27max 5.0%Oct 26
Nemotron 3.5 SuperAvg 0.0%

〰 Uptime

Percent of generations that succeeded over the selected period, per model version.

Avg. Success Rate (30d)
100.00%
across all generations of this model family
Uptime
Sep 27max 100%Oct 26
SuccessfulAvg 100.00%