DJI API key¶
Logs version 13 and above use AES-256-CBC encryption. To decrypt them you need a DJI API key.
Obtaining a key¶
- Visit DJI Developer Technologies and log in.
- Click CREATE APP, choose Open API as the App Type, and fill in the required details (App Name, Category, Description).
- Activate the app through the confirmation link sent to your email.
- On your developer user page, find your app's details — the ApiKey is labeled as the SDK key.
Providing the key¶
The key can be provided via:
--api-key KEYCLI argumentDJI_API_KEYenvironment variable.envfile in the current directory
Network considerations¶
Decryption requires fetching per-flight keys from the DJI API over HTTPS.
In environments with certificate validation issues (corporate proxies, custom CA stores), log.fetch_keychains() may raise a TLS error. Pass verify=False or use the --no-verify CLI flag to bypass certificate checking. Keychains are cached after the first successful fetch so you only need this once per log file.
In air-gapped or network-restricted environments (no outbound HTTPS), log.fetch_keychains() will raise a network error. In that case:
log.details(the unencrypted header) is still fully readable.log.version,log.details.aircraft_name,log.details.start_time, etc. work without a network call.djirecord flight.txt --jsonworks without a key and returns a details-only JSON object (no frame data).- Frame-level telemetry and the frame-bearing export formats (
--raw,--csv,--geojson,--kml, and--jsonwith frames) require the decryption keys.