OpenDroneMap/NodeODM
A lightweight REST API to access aerial image processing engines such as ODM or MicMac
What it solves
Processing aerial drone images into maps and 3D models typically requires complex, engine-specific setup and scripting. NodeODM provides a standardized, easy-to-use API and a ready-to-run web server that handles the heavy lifting of communicating with processing backends like OpenDroneMap (ODM). It gives a consistent interface that other tools like CloudODM and PyODM can use, so you can launch image processing tasks from a browser or from your own code without needing to manage the underlying engine directly.
How it works
NodeODM is a Node.js application that exposes a web API defined in its own specification. When you run it, it starts a web server (default port 3000) where you can upload drone images, start a processing task, and download the results. The server talks to an ODM engine – either the official ODM Docker image or a custom one – to perform the actual photogrammetry work. It manages task orchestration, data storage, and can use GPU acceleration (via CUDA) when running the GPU-enabled Docker image with the --gpus all flag. It can be deployed in several ways: as a Docker container, as a native process, or as a self-contained Windows executable. It also supports test mode that simulates ODM calls, making it easy for developers to test the API without a full ODM setup.
Who it’s for
- Drone enthusiasts and professionals who need a turnkey web interface to process aerial images.
- Developers building applications that require aerial image processing, as NodeODM gives a clean REST API.
- System administrators who want a deployable server with Docker, PM2, or on Windows.
- Researchers working on high-performance computing clusters who need a rootless container option via Apptainer.
Highlights
- Standardized API specification, also used by CloudODM and PyODM.
- Production-ready reference implementation in Node.js.
- Web interface lets you upload images and start tasks with a single click.
- GPU acceleration for NVIDIA cards (CUDA) using a specialized Docker image.
- Flexible deployment: Docker, native, Windows bundle, PM2, or Apptainer (rootless).
- Test mode that simulates ODM calls, useful for development and automated tests.
- Can point to custom ODM images for testing alternative processing engines.
Related
- Project
- Project
- Project
- Project