Qt Edge AI
Qt Edge AI is for applications whose logic or user interface must react to what a camera sees: the video stream is analyzed by an AI model on the device itself, and the application consumes the model's results. Integrating an on-device AI runtime normally means writing pipeline code against one vendor's stack; Qt Edge AI instead provides C++ classes and QML types that describe the inference pipeline independently of the backend that runs it.
A Qt Edge AI application declares an inference flow: a video source step that reads frames from a Qt Multimedia capture session, a vision inference step that runs a model on those frames, and a result parser step that turns the model output into data the application can consume. Steps exchange data through typed ports. Consecutive steps connect automatically when their port types match, and connections can also be declared explicitly, per port. The actual pipeline work is done by a backend loaded from a plugin, so the same application code runs on any platform that has a matching backend plugin.
Qt Edge AI is a Technical Preview and its API may change. The module ships one backend, built on GStreamer 1.20 or later, with inference step providers for the Qualcomm Intelligent Multimedia SDK and for Edge Impulse models; the provided step types cover video input, vision inference, and result parsing. Without a matching backend plugin on the target, flows cannot run.
Qt Edge AI does not capture or render video itself: Qt Multimedia owns the camera through its capture session, and Qt Edge AI reads frames from that session. Use Qt Multimedia alone to capture, play back, or display video; add Qt Edge AI when AI results computed from the video should drive the application.
Getting started
To use the QML types, add the following import statement to your .qml file:
import QtEdgeAiTo link against the C++ library, add the following to your project's CMakeLists.txt file:
find_package(Qt6 REQUIRED COMPONENTS EdgeAi)
target_link_libraries(mytarget PRIVATE Qt6::EdgeAi)A minimal working example
The following application shows live camera video and runs an Edge Impulse model on the same frames, logging each inference result to the console:
import QtQuick
import QtMultimedia
import QtEdgeAi
Window {
id: window
width: 640
height: 480
visible: true
Component.onCompleted: {
session.camera.start()
pipeline.start(window)
}
CaptureSession {
id: session
camera: Camera {}
videoOutput: videoOutput
}
VideoOutput {
id: videoOutput
anchors.fill: parent
}
InferenceFlow {
id: pipeline
InferenceVideoSource {
captureSession: session
}
VisionInference {
name: "edgeimpulse"
model: "libgstedgeimpulse.so"
}
InferenceResultParser {
onDataAvailable: data => console.log(data)
}
}
}The Simple Face Detection example walks through this application.
Explore Qt Edge AI
Platform support and dependencies
The C++ module depends on Qt Core and Qt Multimedia; the QML types additionally use Qt Qml and Qt Quick. Inference runs through backend plugins:
| Backend plugin | Provides | Requirements |
|---|---|---|
| GStreamer flow backend | The pipeline, the video source step, and the result parser step | GStreamer 1.20 or later |
| Qualcomm IM SDK provider | Vision inference steps for the Qualcomm Intelligent Multimedia SDK | GStreamer 1.20 or later, and the Qualcomm IM SDK GStreamer elements on the target |
| Edge Impulse provider | Vision inference steps for Edge Impulse models | GStreamer 1.20 or later, and an Edge Impulse GStreamer plugin on the target |
The QT_INFERENCE_FLOW_BACKEND environment variable selects the backend; the default is gstreamer.
Module status and licensing
Qt Edge AI was introduced in Qt 6.13 as a Technical Preview module: the API is under development and may change in future releases.
The Qt Edge AI module is available under commercial licenses from The Qt Company. See Qt Licensing for further details.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.