API Reference
For the full OpenAPI 3.1 schema, you can access the interactive documentation or the raw JSON file:
- Interactive Docs:
http://<host>:8000/docs - OpenAPI JSON:
http://<host>:8000/openapi.json
Endpoints
POST /v1/embeddings
Generates embedding vectors for text or video inputs. This is the primary inference endpoint.
Request Body
Input String Formats
The input field accepts the following formats:
- Plain Text:
A sentence to be embedded. - Base64-Encoded Video:
data:video/mp4;base64,<base64-encoded-video-data>(queryonly) - Presigned URL for Video:
data:video/mp4;presigned_url,https://your-url/video.mp4(forbulk_videoandquerymodes). - Video Frames (Presigned URLs):
data:video_frames/jpg;presigned_url,{<frame_url_0>,<frame_url_1>,<frame_url_2>,<frame_url_3>,<frame_url_4>,<frame_url_5>,<frame_url_6>,<frame_url_7>}(forbulk_videoandquerymodes). - Video Frames (Base64):
data:video_frames/jpg;base64,{<frame_0_b64>,<frame_1_b64>,<frame_2_b64>,<frame_3_b64>,<frame_4_b64>,<frame_5_b64>,<frame_6_b64>,<frame_7_b64>}(forbulk_videoandquerymodes).
Notes and constraints
querysupports a single input item (text, video, orvideo_frames).bulk_textsupports up to 64 plain-text strings per request.bulk_videosupports up to 64 items, where each item must be one of the following:data:video/<type>;presigned_url,<url>data:video_frames/<type>;presigned_url,{...}ordata:video_frames/<type>;base64,{...}
video_framesrequires exactly 8 frames per item.- Maximum inputs per request: 64 items for
bulk_textandbulk_videomodes - Recommended video duration: 15 seconds
- Maximum recommended video duration: 1-2 minutes; no strict maximum is enforced by the NIM.
- Supported codecs depend on the runtime decode stack (PyNvVideoCodec 2.0.3 / NVDEC) and the host GPU/driver; common codecs include H.264, HEVC, AV1, VP8, VP9, VC1, MPEG4, MPEG2, and MPEG1.
- Base64-encoded full videos are accepted only in
querymode.
Text Query Payload
Bulk Text Payload
Bulk Video Payload
Video Frames Payload (Query)
Response Body
The response is a JSON object containing the generated embeddings and usage statistics.
Embedding Object
Usage Object
Example Response
GET /v1/health/ready
Checks if the service is ready to accept inference requests.
Example Response
GET /v1/health/live
Checks if the service is running (live). It may not yet be ready for inference.
Example Response
GET /health/metrics
Returns a JSON snapshot of service metrics (requests, latency percentiles, throughput, errors, and business counters). Latency values are in seconds.
This endpoint complements the Prometheus-compatible metrics at GET /v1/metrics.
Example Response
GET /v1/metadata
Provides metadata about the NIM container, including version and model information.
GET /v1/manifest
Returns the NIM manifest file content.
GET /v1/license
Returns the license information for the NIM.
GET /v1/metrics
Returns Prometheus-compatible metrics for monitoring.