{"id":115804,"date":"2026-04-16T08:00:00","date_gmt":"2026-04-16T15:00:00","guid":{"rendered":"https:\/\/developer.nvidia.com\/blog\/?p=115804"},"modified":"2026-04-16T11:12:39","modified_gmt":"2026-04-16T18:12:39","slug":"how-to-build-vision-ai-pipelines-using-deepstream-coding-agents","status":"publish","type":"post","link":"https:\/\/developer.nvidia.com\/blog\/how-to-build-vision-ai-pipelines-using-deepstream-coding-agents\/","title":{"rendered":"How to Build Vision AI Pipelines Using NVIDIA DeepStream Coding Agents\u00a0"},"content":{"rendered":"\n<p>Developing real-time vision AI applications presents a significant challenge for developers, often demanding intricate data pipelines, countless lines of code, and lengthy development cycles.&nbsp;<\/p>\n\n\n\n<p><a href=\"https:\/\/developer.nvidia.com\/deepstream-sdk\">NVIDIA DeepStream<\/a> 9 removes these development barriers using coding agents, such as Claude Code or Cursor, to help you easily create deployable, optimized code that brings your vision AI applications to life faster.<\/p>\n\n\n\n<p>This new approach simplifies the process of building complex multi-camera pipelines that ingest, process, and analyze massive volumes of real-time video, audio, and sensor data. Built on GStreamer and part of the NVIDIA Metropolis vision AI development platform, DeepStream&nbsp; accelerates a developer&#8217;s journey from concept to actionable insight across industries.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube\"><div style=\"display: contents;\" >\n\n<div data-mode=\"normal\" data-oembed=\"1\" data-provider=\"youtube\" id=\"arve-youtube-zqtx7men7mi\" style=\"max-width:900px;\" class=\"arve\">\n\t<div class=\"arve-inner\">\n\t\t<div style=\"aspect-ratio:500\/281\" class=\"arve-embed arve-embed--has-aspect-ratio\">\n\t\t\t<div class=\"arve-ar\" style=\"padding-top:56.200000%\"><\/div>\n\t\t\t<iframe allow=\"accelerometer &#039;none&#039;;autoplay &#039;none&#039;;bluetooth &#039;none&#039;;browsing-topics &#039;none&#039;;camera &#039;none&#039;;clipboard-read &#039;none&#039;;clipboard-write;display-capture &#039;none&#039;;encrypted-media &#039;none&#039;;gamepad &#039;none&#039;;geolocation &#039;none&#039;;gyroscope &#039;none&#039;;hid &#039;none&#039;;identity-credentials-get &#039;none&#039;;idle-detection &#039;none&#039;;keyboard-map &#039;none&#039;;local-fonts;magnetometer &#039;none&#039;;microphone &#039;none&#039;;midi &#039;none&#039;;otp-credentials &#039;none&#039;;payment &#039;none&#039;;picture-in-picture;publickey-credentials-create &#039;none&#039;;publickey-credentials-get &#039;none&#039;;screen-wake-lock &#039;none&#039;;serial &#039;none&#039;;summarizer &#039;none&#039;;sync-xhr;usb &#039;none&#039;;web-share;window-management &#039;none&#039;;xr-spatial-tracking &#039;none&#039;;\" allowfullscreen=\"\" class=\"arve-iframe fitvidsignore\" credentialless data-arve=\"arve-youtube-zqtx7men7mi\" data-lenis-prevent=\"\" data-src-no-ap=\"https:\/\/www.youtube-nocookie.com\/embed\/ZQTX7MeN7mI?feature=oembed&amp;iv_load_policy=3&amp;modestbranding=1&amp;rel=0&amp;autohide=1&amp;playsinline=0&amp;autoplay=0\" frameborder=\"0\" height=\"505.8\" loading=\"lazy\" name=\"\" referrerpolicy=\"strict-origin-when-cross-origin\" sandbox=\"allow-scripts allow-same-origin allow-presentation allow-popups allow-popups-to-escape-sandbox\" scrolling=\"no\" src=\"https:\/\/www.youtube-nocookie.com\/embed\/ZQTX7MeN7mI?feature=oembed&#038;iv_load_policy=3&#038;modestbranding=1&#038;rel=0&#038;autohide=1&#038;playsinline=0&#038;autoplay=0\" title=\"\" width=\"900\"><\/iframe>\n\t\t\t\n\t\t<\/div>\n\t\t\n\t<\/div>\n\t\n\t\n\t\n\t\n<\/div>\n<\/div><\/figure>\n\n\n\n<p>Video 1. How to use the NVIDIA DeepStream coding agents to generate complete vision AI pipelines from natural language prompts with Claude Code.<\/p>\n\n\n\n<p><strong><em>To watch a recording showing how to build a DeepStream vision AI pipeline using Claude Code or Cursor, click <a href=\"https:\/\/www.youtube.com\/live\/3NyCYgP4_AY\">here<\/a>.<\/em><\/strong><\/p>\n\n\n\n<h2 id=\"using_nvidia_cosmos_reason_2_to_build_a_video_analytics_app&nbsp;\"  class=\"wp-block-heading\">Using NVIDIA Cosmos Reason 2 to build a video analytics app&nbsp;<a href=\"#using_nvidia_cosmos_reason_2_to_build_a_video_analytics_app&nbsp;\" class=\"heading-anchor-link\"><i class=\"fas fa-link\"><\/i><\/a><\/h2>\n\n\n\n<p>It is possible to build a video analytics app that concurrently ingests hundreds of camera streams and analyzes the streams with a vision language model (VMA) using NVIDIA <a href=\"https:\/\/docs.nvidia.com\/nim\/vision-language-models\/1.6.0\/examples\/cosmos-reason2\/api.html\">Cosmos Reason 2<\/a>, the most accurate, open, reasoning VLM for physical AI.&nbsp;<\/p>\n\n\n\n<p>The application scales dynamically with no wasted redeployment time to add cameras or swap models and no guessing at bottlenecks. The coding agent understands your hardware and generates an application optimized for it.&nbsp;<\/p>\n\n\n\n<p>With just a few lines, a prompt can generate a complete production-grade microservice with REST APIs, health monitoring, deployment automation, and Kafka integration \u2014 all in one development session.<\/p>\n\n\n\n<h3 id=\"how_to_generate_a_vlm-powered_vision_ai_application\"  class=\"wp-block-heading\">How to generate a VLM-powered vision AI application:<a href=\"#how_to_generate_a_vlm-powered_vision_ai_application\" class=\"heading-anchor-link\"><i class=\"fas fa-link\"><\/i><\/a><\/h3>\n\n\n\n<p><strong>Step 1:<\/strong> <a href=\"https:\/\/github.com\/NVIDIA-AI-IOT\/DeepStream_Coding_Agent\/tree\/main#installing-the-skill\">Install the DeepStream Coding Agent skill for Claude Code or Cursor.<\/a> You can generate code anywhere, but deployment requires the minimum hardware, <a href=\"https:\/\/github.com\/NVIDIA-AI-IOT\/DeepStream_Coding_Agent\/tree\/main#for-running-the-generated-code\">listed on<\/a> GitHub.<\/p>\n\n\n\n<p><strong>Step 2<\/strong>: Paste the prompt below into your agent to generate a scalable VLM pipeline with dynamic N stream ingestion and per-stream batching.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nImplement a Python application that uses a multi-modal VLM to summarize video frames and sends summaries to a remote server via Kafka.\nArchitecture:\n  1. DeepStream Pipeline: Use DeepStream pyservicemaker APIs to receive N RTSP\n     streams, decode video, and convert frames to RGB format. Process each stream\n     independently \u2014 do not mux streams together.\n  2. Frame Sampling &amp; Batching: Use MediaExtractor to sample frames at a\n     configurable interval (e.g. 1 frame every 10 seconds). When the VLM supports\n     multi-frame input, batch sampled frames over a configurable duration (e.g.\n     1 minute) before sending to the model. Each batch must contain frames from a\n     single stream only.\n  3. VLM Backend: Implement a module that receives a batch of decoded video frames\n     and returns a text summary from the multi-modal VLM.\n  4. Kafka Output: Send each text summary to a remote server using Kafka.\n  Constraints:\n  - Scalable to hundreds of RTSP streams across multiple GPUs on a single node.\n    Distribute processing load across all available GPUs.\n  - Never mix frames from different RTSP streams in a single batch.\n  Store output in the rtvi_app directory.\n  Also generate a README.md with instructions to setup kafka server, vLLM, and\n  how to run the application.\n<\/pre><\/div>\n\n\n<p>You can customize parameters such as the frame sampling interval (for example,, 1 frame every 10 seconds; Cosmos-Reason2-8B doesn\u2019t&nbsp; impose a fixed frame limit,&nbsp; it uses a large context window (up to 256K tokens) and samples frames dynamically based on fps and resolution.<\/p>\n\n\n\n<p><strong>Step 3: <\/strong>Now that you have a working application, let&#8217;s make it deployment-ready.<br><br>With one more prompt, you can convert it into a full production microservice, complete with representational state transfer (REST) APIs to dynamically manage streams, health probes for orchestration, metrics for observability, a Dockerfile for containerization, and deployment scripts to get it running in minutes:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nNeed to create microservice for the app in @rtvi_app directory. Follow the\n  steps below to complete that.\n  - Create FastAPI based server and implement the endpoints mentioned in the\n    attached image @rtvi_vlm_openapi_spec.png.\n  - Create dockerfile to package the everything together which can later be used\n    to generate docker image.\n  - Create deployment guide to run the microservice.\n\n  IMPORTANT\n  - Need to generate production ready code and don&#039;t create dummy implementation for any of the endpoint.\n  - Update the code in @rtvi_app if it is required for having the working\n    implementation of the endpoints.\n<\/pre><\/div>\n\n\n<p><strong>Step 4<\/strong>: The generated code will have the deployment scripts and access APIs via Swagger UI at http:\/\/localhost:8080\/docs or <code>curl<\/code>. You can expect a page similar to this <a href=\"https:\/\/github.com\/NVIDIA-AI-IOT\/DeepStream_Coding_Agent\/blob\/main\/example_prompts\/rtvi_vlm_openapi_spec.png\">page<\/a> on GitHub.<\/p>\n\n\n\n<h2 id=\"generating_an_efficient_realtime_cv_application_using_any_model\"  class=\"wp-block-heading\">Generating an efficient realtime CV application using any model<a href=\"#generating_an_efficient_realtime_cv_application_using_any_model\" class=\"heading-anchor-link\"><i class=\"fas fa-link\"><\/i><\/a><\/h2>\n\n\n\n<p>Now let&#8217;s take it further. Say you want to build a real-time application using an open-source model like YOLOv26. To plug any model into DeepStream, you need to know three things:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Input tensor<\/strong> \u2014 shape and scaling (e.g., <code>[batch, 3, 640, 640],<\/code> normalize pixels)&nbsp;<\/li>\n<\/ol>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li><strong>Output tensor<\/strong> \u2014 name and shape of the output tensor(e.g., <code>[batch, 300, 6] where each row is [x1, y1, x2, y2, conf, class_id]<\/code>)<br><\/li>\n\n\n\n<li><strong>Postprocessing <\/strong>\u2014 any operations needed to extract the final detections from raw model output, for example, is the non-maximum suppression (NMS) built within the model, or it\u2019s needed as a postprocessing step after the final layer of the model.<\/li>\n<\/ol>\n\n\n\n<p>You can get these from a model card, or use any model visualization\/inspection tool such as <a href=\"https:\/\/netron.app\/\">Netron<\/a>, <a href=\"https:\/\/github.com\/PaddlePaddle\/VisualDL\">VisualDL<\/a>, <a href=\"https:\/\/github.com\/zetane\/viewer\">Zetane<\/a>, or simply run <code>onnx.load()<\/code> and print the graph&#8217;s input\/output shapes. Or skip all of that and feed the model file directly to the coding agent \u2014 it will inspect the model for you and will pull the right libs needed for model inspection.&nbsp;<\/p>\n\n\n\n<p>Think of it this way: You bring a custom model to DeepStream&#8217;s hardware-optimized video analytics pipeline. You introduce the model \u2014 its input shape, output format \u2014 and DeepStream takes care of the rest; efficient buffer management that fully utilizes GPU decode, compute, and downstream processing to deliver the best latency your hardware can achieve.<\/p>\n\n\n\n<p>The steps to generate a <a href=\"https:\/\/docs.ultralytics.com\/models\/yolo26\/\">YOLOv26<\/a> detection app with the DeepStream coding agent are:<\/p>\n\n\n\n<p><strong>Step 1:<\/strong> Make sure you have the DeepStream Coding Agent skill installed and the minimum hardware for deployment. Install the DeepStream Coding Agent skill for Claude Code or Cursor. You can generate code anywhere, but deployment requires the minimum hardware, listed on GitHub.&nbsp;&nbsp;<\/p>\n\n\n\n<p><strong>Step 2<\/strong>:&nbsp; Paste this prompt into your agent:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nDownload the YOLO26s detection model using the ultralytics library, then convert the model to ONNX model that supports dynamic batch, in a Python virtual environment. Write a DeepStream custom parsing library for the model. Use DeepStream SDK pyservicemaker APIs to develop the python application that can do the following.\n - Read from file, decode the video and infer using the model.\n - The custom parsing library is used in nvinfer&#039;s configuration file.\n - Display the bounding box around detected objects using OSD.\n Save the generated code in yolo_detection directory.\n The app should support RTSP streams as input.\n<\/pre><\/div>\n\n\n<p><strong>Step 3:<\/strong> &nbsp; The agent generates a complete application with multiple files \u2014 model download scripts, the pipeline app, inference config file,&nbsp; and more.&nbsp;<\/p>\n\n\n\n<p>Let&#8217;s focus on the files that matter for model integration: the inference config file. Here&#8217;s exactly where the three things you need to know (input tensor, output tensor, and postprocessing) show up in the inference config file:<\/p>\n\n\n\n<p><strong>Input tensor<\/strong>: This tells DeepStream how to preprocess the upstream GPU buffer \u2014 resize to 640&#215;640 and scale pixel values by 1\/255 \u2014 and feed it to TensorRT. The ONNX file is automatically converted to a TensorRT engine on first run, optimized for your exact GPU and batch size. <\/p>\n\n\n\n<p>The inference config will have:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n  infer-dims=3;640;640\n  net-scale-factor=1\/255\n  onnx-file=yolo26s.onnx\n<\/pre><\/div>\n\n\n<p><strong>Output tensor and Post-Processing<\/strong>: The agent generates an <code>NvDsInferParseCustomYolo<\/code> function that reads the output blob named example: <code>output0<\/code> <code>in yolo26s<\/code> \u2014 a <code>[300, 6]<\/code> tensor where each row is <code>[x1, y1, x2, y2, conf, class_id]<\/code> \u2014 and converts each detection into an <a href=\"https:\/\/docs.nvidia.com\/metropolis\/deepstream\/dev-guide\/python-api\/PYTHON_API\/NvDsInfer\/NvDsInferObjectDetectionInfo.html\"><code>NvDsInferObjectDetectionInfo<\/code><\/a><code> struct<\/code>.&nbsp;<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: cpp; title: ; notranslate\" title=\"\">\nextern &quot;C&quot; bool NvDsInferParseCustomYolo(\n      std::vector&lt;NvDsInferLayerInfo&gt; const &amp;outputLayersInfo,\n      ...\n      std::vector&lt;NvDsInferObjectDetectionInfo&gt; &amp;objectList)\n  {\n      \/\/ Find output layer &quot;output0&quot; \u2192 &#x5B;300, 6]\n      ...\n      const float *det = data + i * 6;\n      \/\/ &#x5B;x1, y1, x2, y2, conf, class_id]\n      obj.classId = static_cast&lt;unsigned int&gt;(det&#x5B;5]);\n      obj.detectionConfidence = det&#x5B;4];\n      obj.left = det&#x5B;0];  obj.top = det&#x5B;1];\n      obj.width = det&#x5B;2] - det&#x5B;0];  obj.height = det&#x5B;3] - det&#x5B;1];\n      ...\n      objectList.push_back(obj);\n  }\n<\/pre><\/div>\n\n\n<p>This is what populates the <a href=\"https:\/\/docs.nvidia.com\/metropolis\/deepstream\/dev-guide\/python-api\/PYTHON_API\/NvDsMeta\/NvDsObjectMeta.html\">ObjectMeta<\/a> in the downstream <a href=\"https:\/\/docs.nvidia.com\/metropolis\/deepstream\/dev-guide\/python-api\/PYTHON_API\/NvDsMeta\/NvDsBatchMeta.html\">NvDsBatchMeta<\/a>. The inference config will have:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\ncustom-lib-path=nvdsinfer_custom_impl_yolo\/libnvdsinfer_custom_impl_yolo.so\nparse-bbox-func-name=NvDsInferParseCustomYolo\noutput-blob-names=output0\n<\/pre><\/div>\n\n\n<p><strong>Step 4:<\/strong> To convert this into a production microservice \u2014 just like the VLM app example above (step 3) \u2014 use a similar prompt to add FastAPI endpoints for stream management, health probes, metrics, a Dockerfile, and deployment scripts<\/p>\n\n\n\n<p><strong>Step 5: <\/strong>Deploy with the generated scripts and access APIs via Swagger UI at http:\/\/localhost:8080\/docs or <code>curl<\/code>.<\/p>\n\n\n\n<p>These two applications are just the beginning. The <a href=\"https:\/\/github.com\/NVIDIA-AI-IOT\/DeepStream_Coding_Agent\/tree\/main\">same skills<\/a> can generate any DeepStream pipeline \u2014 from multi-camera tracking to audio analytics to custom inference chains.&nbsp;<\/p>\n\n\n\n<p>Check out more example prompts in the <a href=\"https:\/\/github.com\/NVIDIA-AI-IOT\/DeepStream_Coding_Agent\/tree\/main\/example_prompts\">repository.<\/a> Use these as a reference to write your own prompts for any vision AI application you can imagine:&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>&nbsp;&nbsp;<a href=\"https:\/\/github.com\/NVIDIA-AI-IOT\/DeepStream_Coding_Agent\/blob\/main\/example_prompts\/multi_stream_tracker.md\">Multi-stream tracking with 4 RTSP cameras and tiled display<\/a><\/li>\n\n\n\n<li>&nbsp;&nbsp;<a href=\"https:\/\/github.com\/NVIDIA-AI-IOT\/DeepStream_Coding_Agent\/blob\/main\/example_prompts\/nvdsanalytics_config_sample.md\">Analytics \u2014 ROI filtering, line-crossing, overcrowding, and direction detection<\/a><\/li>\n\n\n\n<li>&nbsp;&nbsp;<a href=\"https:\/\/github.com\/NVIDIA-AI-IOT\/DeepStream_Coding_Agent\/blob\/main\/example_prompts\/video_infer_app.md\">Video file inference with bounding box display<\/a><\/li>\n\n\n\n<li>&nbsp;&nbsp;<a href=\"https:\/\/github.com\/NVIDIA-AI-IOT\/DeepStream_Coding_Agent\/blob\/main\/example_prompts\/video_object_count.md\">Video inference with per-class object counting<\/a><\/li>\n\n\n\n<li>&nbsp;&nbsp;<a href=\"https:\/\/github.com\/NVIDIA-AI-IOT\/DeepStream_Coding_Agent\/blob\/main\/example_prompts\/yolov26s_detection.md\">YOLOv26s detection with custom ONNX export and parser<\/a><\/li>\n\n\n\n<li>&nbsp;&nbsp;<a href=\"https:\/\/github.com\/NVIDIA-AI-IOT\/DeepStream_Coding_Agent\/blob\/main\/example_prompts\/rtvi_vlm_core_app.md\">Multi-stream VLM video summarization with Kafka<\/a><\/li>\n\n\n\n<li>&nbsp;&nbsp;<a href=\"https:\/\/github.com\/NVIDIA-AI-IOT\/DeepStream_Coding_Agent\/blob\/main\/example_prompts\/rtvi_vlm_openapi_spec.md\">FastAPI microservice wrapper with Dockerfile and deployment<\/a><\/li>\n<\/ul>\n\n\n\n<h2 id=\"redefining_vision_ai_development&nbsp;\"  class=\"wp-block-heading\">Redefining vision AI development&nbsp;<a href=\"#redefining_vision_ai_development&nbsp;\" class=\"heading-anchor-link\"><i class=\"fas fa-link\"><\/i><\/a><\/h2>\n\n\n\n<p>DeepStream accelerates vision AI development with agentic workflows, reducing coding time to hours from weeks. Using natural language prompts, developers can instantly plug in models, configure camera streams, and deploy analytics applications. Optimized for NVIDIA hardware, DeepStream delivers more streams and analytics per dollar than generic pipelines, maximizing performance from edge to cloud.<\/p>\n\n\n\n<h2 id=\"getting_started\"  class=\"wp-block-heading\">Getting started<a href=\"#getting_started\" class=\"heading-anchor-link\"><i class=\"fas fa-link\"><\/i><\/a><\/h2>\n\n\n\n<p>Download the <a href=\"https:\/\/catalog.ngc.nvidia.com\/orgs\/nvidia\/collections\/deepstream_sdk\">latest SDK<\/a> on NGC for Jetson, data center GPUs, or the cloud to get started with DeepStream.&nbsp;<\/p>\n\n\n\n<h2 id=\"resources\"  class=\"wp-block-heading\">Resources<a href=\"#resources\" class=\"heading-anchor-link\"><i class=\"fas fa-link\"><\/i><\/a><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/catalog.ngc.nvidia.com\/orgs\/nvidia\/collections\/deepstream_sdk\">Download DeepStream<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/docs.nvidia.com\/metropolis\/deepstream\/dev-guide\/\">Documentation<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.nvidia.com\/en-us\/on-demand\/session\/gtc26-dlit81879\/\">GTC 2026 lab on-demand<\/a><\/li>\n<\/ul>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Developing real-time vision AI applications presents a significant challenge for developers, often demanding intricate data pipelines, countless lines of code, and lengthy development cycles.&nbsp; NVIDIA DeepStream 9 removes these development barriers using coding agents, such as Claude Code or Cursor, to help you easily create deployable, optimized code that brings your vision AI applications to &hellip; <a href=\"https:\/\/developer.nvidia.com\/blog\/how-to-build-vision-ai-pipelines-using-deepstream-coding-agents\/\">Continued<\/a><\/p>\n","protected":false},"author":1102,"featured_media":115813,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"publish_to_discourse":"","publish_post_category":"318","wpdc_auto_publish_overridden":"1","wpdc_topic_tags":"","wpdc_pin_topic":"","wpdc_pin_until":"","discourse_post_id":"1790565","discourse_permalink":"https:\/\/forums.developer.nvidia.com\/t\/how-to-build-vision-ai-pipelines-using-deepstream-coding-agents\/366824","wpdc_publishing_response":"success","wpdc_publishing_error":"","nv_subtitle":"","ai_post_summary":"","footnotes":"","_links_to":"","_links_to_target":""},"categories":[2724,4146,2758],"tags":[422,453,5047,1472],"coauthors":[2299,1420],"class_list":["post-115804","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-computer-vision","category-development","category-edge-computing","tag-deepstream","tag-featured","tag-gtc-2026","tag-metropolis","tagify_workload-generative-ai","tagify_workload-computer-vision","tagify_workload-data-science","tagify_workload-edge-computing"],"acf":{"post_industry":["Manufacturing","Public Sector","Retail \/ Consumer Packaged Goods","Smart Cities \/ Spaces"],"post_products":["DeepStream","Metropolis"],"post_learning_levels":["Intermediate Technical"],"post_content_types":"","post_collections":""},"jetpack_featured_media_url":"https:\/\/developer-blogs.nvidia.com\/wp-content\/uploads\/2026\/04\/robotics-key-visual-metropolis-deepstream-gtc26-abstract-code-r2_1920x1080.webp","primary_category":{"category":"Computer Vision \/ Video Analytics","link":"https:\/\/developer.nvidia.com\/blog\/category\/computer-vision\/","id":2724,"data_source":""},"nv_translations":[{"language":"zh_CN","title":"\u5982\u4f55\u4f7f\u7528 NVIDIA DeepStream \u7f16\u7801\u667a\u80fd\u4f53\u6784\u5efa\u89c6\u89c9 AI \u5de5\u4f5c\u6d41","post_id":17431}],"jetpack_shortlink":"https:\/\/wp.me\/pcCQAL-u7O","jetpack_likes_enabled":true,"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/developer-blogs.nvidia.com\/wp-json\/wp\/v2\/posts\/115804","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/developer-blogs.nvidia.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/developer-blogs.nvidia.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/developer-blogs.nvidia.com\/wp-json\/wp\/v2\/users\/1102"}],"replies":[{"embeddable":true,"href":"https:\/\/developer-blogs.nvidia.com\/wp-json\/wp\/v2\/comments?post=115804"}],"version-history":[{"count":18,"href":"https:\/\/developer-blogs.nvidia.com\/wp-json\/wp\/v2\/posts\/115804\/revisions"}],"predecessor-version":[{"id":115863,"href":"https:\/\/developer-blogs.nvidia.com\/wp-json\/wp\/v2\/posts\/115804\/revisions\/115863"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/developer-blogs.nvidia.com\/wp-json\/wp\/v2\/media\/115813"}],"wp:attachment":[{"href":"https:\/\/developer-blogs.nvidia.com\/wp-json\/wp\/v2\/media?parent=115804"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/developer-blogs.nvidia.com\/wp-json\/wp\/v2\/categories?post=115804"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/developer-blogs.nvidia.com\/wp-json\/wp\/v2\/tags?post=115804"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/developer-blogs.nvidia.com\/wp-json\/wp\/v2\/coauthors?post=115804"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}