API
Images
GET a signed image_url for a make, model, year, view, and render options.
curl -H "x-api-key: YOUR_KEY" \
"$APP_URL/v1/makes/{make}/models/{model}/{year}/{view}?color=red&shadow=true&plate=AB-CD-123&format=webp&width=1200"With multiple variants for that year, insert the variant slug:
/v1/makes/{make}/models/{model}/{year}/{variant}/{view}{view} must be a published id from the nine studio views (see Catalog).
The API returns JSON, not the image. Use image_url to download pixels.
Query parameters
| Param | Default | Notes |
|---|---|---|
color | white (#F5F5F5) | Named color or hex (#C41E3A or C41E3A, 3- or 6-digit) |
shadow | true | true / 1 or false / 0 |
plate | omitted | EU-style registration text drawn on the mapped plate quad |
format | webp | webp, png, or jpeg — must be in the contract |
width | 1600 | Clamped to 200–2400 |
Invalid color or format → 400 bad_request. Format not in the contract, or vehicle category not in the contract → 403 forbidden. Unknown or unpublished view → 404 not_found.
Response
{
"vehicle": {
"id": "…",
"make": "DAF",
"model": "XF",
"year": 2022,
"variant": null,
"category": "truck",
"category_id": "…"
},
"view": "front_left",
"options": {
"color": "#C41E3A",
"color_name": "red",
"shadow": true,
"plate": "AB-CD-123",
"format": "webp",
"width": 1200
},
"image_url": "https://…/i/…",
"warnings": []
}color_name is the named color when you passed one; null for a custom hex.
Warnings
The render still succeeds. Clients should read warnings:
| Code | Meaning |
|---|---|
SHADOW_UNAVAILABLE | shadow=true but this view has no studio shadow |
PLATE_UNMAPPED | plate was set but this view has no plate quad |
Named colors
red, blue, green, white, black, silver, yellow, orange — full hex table on Catalog.