AeroModel

AeroModel

Documentation

format

Response mode of /v1/images/plane: binary or metadata.

Values

ValueDescriptionContent-Type
image (default)Binary imageimage/png / image/jpeg / image/webp
jsonResolution metadataapplication/json

format=image (default)

Standard behavior: returns the image, applies the fallback cascade (never 404 except in extreme cases).

GET https://api.aeromodel.dash-systems.fr/v1/images/plane?api-key=YOUR_KEY&plane=A320&airline=AF

format=json

Returns metadata for the resolution without serving the image. Useful for:

  • Pre-validating a combination client-side (check that the aircraft / livery actually exist).
  • Retrieving the assetKey for debugging.
  • Deciding client-side NOT to display if the livery is not the right one (in image mode the API serves a fallback you might not want).
GET https://api.aeromodel.dash-systems.fr/v1/images/plane?api-key=YOUR_KEY&plane=A320&airline=AF&format=json
{
  "plane": {
    "slug": "airbus-a320-200",
    "name": "Airbus A320-200",
    "iata": "320",
    "icao": "A320"
  },
  "airline": {
    "slug": "air-france",
    "name": "Air France",
    "iata": "AF",
    "icao": "AFR"
  },
  "liveryType": "base",
  "appliedLiveryType": "base",
  "angle": "90",
  "gear": "down",
  "filetype": "png",
  "renderOptions": {
    "width": 1280,
    "zoomType": "contain",
    "zoomLevel": 1,
    "marginPercent": 8
  },
  "composeOptions": {
    "pitch": 0,
    "scale": "none",
    "align": "center"
  },
  "compose": {
    "runs": false,
    "reason": null
  },
  "assetKey": "liveries/airbus-a320-200/air-france/base/90/down/w-1280_z-contain-1p00_m-8p00.png",
  "manifestVersion": "2026-04-29T18:03:11Z",
  "fallbackReason": null,
  "imageSource": "r2-livery"
}

With fallback

GET https://api.aeromodel.dash-systems.fr/v1/images/plane?api-key=YOUR_KEY&plane=A320&airline=AF&liveryType=does-not-exist&format=json
{
  "appliedLiveryType": "base",
  "fallbackReason": "livery-unavailable",
  "imageSource": "r2-base"
}

On error

In json mode, validation errors return 400:

GET https://api.aeromodel.dash-systems.fr/v1/images/plane?api-key=YOUR_KEY&plane=A320&pitch=120&format=json
→ 400 { "error": "invalid compose options", "details": ["pitch must be a number between -45 and 45"] }

In image mode, the API always tries to serve a fallback (and silently logs).

Use cases

ScenarioMode
Direct display in <img>image
Pre-validation before renderjson
Debug / inspectionjson
Build a client-side manifestjson
Cache busting (change manifestVersion)json

See also