Noxovision API (0.2.0)

Download OpenAPI specification:

noxovision Support: support@noxo.dev License: Proprietary

Public API for asynchronous image and video analysis.

Request

Submit new analysis requests

Submit a new video analysis request

Accepts a binary video file and enqueues it for analysis. Returns 202 Accepted with a Location header to poll for results.

Optional webhooks:

  • If webhook.url is provided, the service will POST the final result payload to that URL when the job reaches a terminal state (finished or failed).
  • If webhook.secret is provided, the webhook request includes X-Webhook-Signature (HMAC-SHA256). If no secret is provided, the webhook is delivered unsigned.
Authorizations:
apiKeyAuth
header Parameters
Max-Processing-Time
integer >= 0

Upper-bound on server-side processing time in seconds. If the job exceeds this limit the server cancels it and returns an error. If set to 0, an infinite time is accepted.

Request Body schema:
required
string <binary>

The binary video to be processed

Responses

Callbacks

Response samples

Content type
application/json
{
  • "job_id": "video_12345"
}

Callback payload samples

Callback
POST: Webhook delivering the final result payload
Content type
application/json
{
  • "job_id": "video_12345",
  • "status": "finished",
  • "result": {
    }
}

Submit a batch of images for analysis (JSON base64)

Accepts a JSON payload containing one or more base64-encoded images. Returns 202 Accepted with a Location header to poll the batch status and per-item results.

Notes:

  • The images[].data_base64 field must be raw base64 (no data URI prefix).
  • The server may reject items that exceed size/format limits and mark them failed.

Optional webhooks:

  • If webhook.url is provided, the service will POST the final result payload to that URL when the job reaches a terminal state (finished or failed).
  • If webhook.secret is provided, the webhook request includes X-Webhook-Signature (HMAC-SHA256). If no secret is provided, the webhook is delivered unsigned.
Authorizations:
apiKeyAuth
header Parameters
Max-Processing-Time
integer >= 0

Upper-bound on server-side processing time in seconds. If the job exceeds this limit the server cancels it and returns an error. If set to 0, an infinite time is accepted.

Request Body schema: application/json
required
required
Array of objects non-empty

One or more images to analyze

object (WebhookConfig)

The optional webhook configuration for a callback on this request

Responses

Callbacks

Request samples

Content type
application/json
{
  • "images": [
    ]
}

Response samples

Content type
application/json
{
  • "job_id": "image_batch_123"
}

Callback payload samples

Callback
POST: Webhook delivering the final result payload
Content type
application/json
{
  • "job_id": "image_batch_123",
  • "status": "finished",
  • "items": [
    ]
}

Results

Retrieve analysis results

Get the results of a video analysis

Authorizations:
apiKeyAuth
path Parameters
job_id
required
string
Example: video_12345

Responses

Response samples

Content type
application/json
{
  • "job_id": "video_12345",
  • "status": "finished",
  • "result": {
    }
}

Get the results of an image analysis

Authorizations:
apiKeyAuth
path Parameters
job_id
required
string
Example: image_batch_123

Responses

Response samples

Content type
application/json
{
  • "job_id": "image_batch_123",
  • "status": "finished",
  • "items": [
    ]
}

Status

System-level status and capacity

Get system latency per media unit

Returns the observed processing latency per media unit:

  • For video: latency per second of video time.
  • For image: latency per individual image in a batch.
Authorizations:
apiKeyAuth
query Parameters
media_type
required
string
Enum: "video" "image"

Media type whose latency is requested

Responses

Response samples

Content type
application/json
Example
{
  • "media_type": "image",
  • "unit": "image",
  • "latency_ms_per_unit": 120
}

Get current system-wide capacity utilization

Authorizations:
apiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "used_system_capacity": 0.63
}