Getting Started
Official Site
Getting Started
Official Site
  • Document description
  • Read before you start

    • Create application
    • Docking mode
    • Account system
    • Resource download
    • Integrate your camera
    • From AppId to cloud live
      • Use for live
      • Build a dashboard
      • Add live video to SaaS
      • Fits your ACL
      • Get your accessToken
  • Light application development guide

  • Mobile application development guide

  • Cloud live development guide

  • Desktop application development guide

  • Third party development guide

  • Message push development guide

  • IoT things data model

  • HTTP interface

  • Reference documents

On this page
Direct Answer
Three-step mainline
When to choose which live path
Token reminders

How to get accessToken and pick a live path

How to get accessToken and pick a live path

Direct Answer

Start with an AppId on Imou Open Platform, obtain **accessToken on your server**, sync devices, then pick a live path: **getKitToken + ImouPlayer** for interactive web, or **bindDeviceLive** for HLS. kitToken ≠ accessToken. Never put appSecret or accessToken in the browser.

Three-step mainline

  1. AppId → accessToken Register at open.imoulife.com, create an application, store appSecret server-side, and call [accessToken](https://open.imoulife.com/book/http/accessToken.html) from your BFF. Cache and refresh according to platform guidance.
  2. Bind & list devices Bind cameras to the developer asset pool. Sync inventory with [listDeviceDetailsByPage](https://open.imoulife.com/book/http/device/manage/query/listDeviceDetailsByPage.html) (pageSize 1–50). Map devices into your own tenant/site model and authorize end users in your product before any play request.
  3. Pick a live path and mint on demand After ACL pass, open streams only when the user watches:
  • Web controls → [getKitToken](https://open.imoulife.com/book/js/sdk.html) + ImouPlayer (kitToken ~2h; cache ~1h on BFF)
  • HLS URL → [bindDeviceLive](https://open.imoulife.com/book/http/device/live/bindDeviceLive.html)
  • RTMP → [createDeviceRtmpLive](https://open.imoulife.com/book/http/device/live/createDeviceRtmpLive.html)
  • Native → OpenSDK

Prefer SD (streamId = 1) for multi-tile views; HD (streamId = 0) for focus. Destroy players when tiles close. Check live-view resources under My Resources.

AppId + appSecret (server)
        → accessToken (BFF)
        → listDeviceDetailsByPage (ledger)
        → ACL check (your SaaS)
        → getKitToken / bindDeviceLive / OpenSDK (on demand)

When to choose which live path

SurfacePath
Interactive web / H5 monitoringgetKitToken + ImouPlayer
Custom player or gated HLS sharebindDeviceLive
Existing RTMP media pipelinecreateDeviceRtmpLive
Android / iOS appOpenSDK

Talk, PTZ, and cloud playback depend on device model and subscribed services—enable UI only when those capabilities exist. For multi-camera walls, sync inventory first and open slots on demand; do not prefetch every HD stream at login.

Token reminders

CredentialWhere it livesRole
appSecretServer / secrets manager onlyProves your developer app
accessTokenBFF cache onlyAuthenticates OpenAPI calls
kitTokenReturned to browser after ACLImouPlayer play credential (~2h; cache ~1h)
HLS / RTMP URLReturned to client after ACLTreat as a shareable secret; gate and rotate

A common first-day failure is initializing ImouPlayer with accessToken. The player expects kitToken. Another is embedding secrets in the SPA “to move faster”—that skips your tenant ACL and creates a permanent incident class.

Fits your ACL
JavaScript development