Use a saved style to repeat a look, a brand kit to carry brand rules, a named motion to direct the camera, and a color preset to grade a Studio composition. These inputs affect different stages of the result and can be combined within the chosen model's capabilities.
An explicit style_id overrides the project's style for one generation. Style images follow the subject references and use only the remaining reference budget. An image that does not fit is left out; the prompt fragment still applies.
This response is built from SavedStyleList and SavedStyle, not a production capture.
JSON200 — example from the response schemas
{"styles":[{"id":"60825d85-9c86-4146-9715-386a1aa2743c","user_id":"4961eaef-70a6-4e9b-b746-c86ad3e62077","name":"Paper cut","prompt_fragment":"Layered paper shapes with visible cut edges and soft side lighting.","model_hint":"flux-pro","reference_images":[],"created_at":"2026-09-21T04:00:00Z","updated_at":"2026-09-21T04:00:00Z"}]}
Field
Type
Required
Description
styles
array of SavedStyle
Yes
Field
Type
Required
Description
swatch
Asset
No
The style key image: the first reference image, attached first when the style rides a generation. Omitted when the style has no reference images.
id
string
Yes
user_id
string
Yes
organization_id
string
No
name
string
Yes
prompt_fragment
string
Yes
Appended after your own prompt when style_id is passed, never replaces it.
model_hint
string
Yes
An ImageModel id the look renders best on, or empty. Clients default the picker to it, the API never switches models for you.
reference_images
array of Asset
Yes
Reference images in display order with fresh signed URLs, appended within the model caps.
Default: append the brand block and attach the logo where it fits
prompt_only
Append the brand block without attaching the logo
off
Disable both an explicit kit and the project's kit; cannot be combined with brand_kit_id
Image enhancement, expansion and masked requests do not attach a brand logo. Video edit and extend tasks do not attach it either; regeneration with source_video_asset_id refuses an explicit kit and skips an implied project kit. The model's reference limits still apply.
The camera-move library is public, embedded and identical for every caller. Send its stable id as motion_id on a video request; the server appends the chosen strength's exact prompt fragment as a sentence without replacing your direction.
Property
Value
Catalog
GET /motions, anonymous
Input
motion_id and optional motion_strength
Strengths
subtle, medium, strong; omitted strength uses the move's default_strength
Models
All video models, including text-to-video, image-to-video and shots[] requests
List the camera-move library for video generation. Public, embedded, identical for every caller.
shellRead the camera-move library
$ curl -sS https://api.nolgia.ai/v1/motions
This is the first complete entry from an anonymous production read; the rest of motions is omitted.
JSON200 — production camera-move entry, trimmed catalog
{"motions":[{"category":"dolly","default_strength":"medium","description":"The camera moves toward the subject, tightening the frame.","id":"push-in","name":"Push-in","preview_url":null,"strengths":[{"prompt_fragment":"Camera: a gentle, barely perceptible push-in toward the subject on a smooth dolly, the framing tightening only slightly by the last frame.","strength":"subtle"},{"prompt_fragment":"Camera: a steady push-in toward the subject on a smooth dolly, the framing tightening from a medium shot to a close-up over the clip.","strength":"medium"},{"prompt_fragment":"Camera: a fast, decisive push-in that drives from a wide shot to a tight close-up on the subject, momentum building to the last frame.","strength":"strong"}]}]}
Field
Type
Required
Description
motions
array of CameraMove
Yes
Moves in display order.
Field
Type
Required
Description
id
string
Yes
The stable motion_id a request sends.
name
string
Yes
The customer-facing label.
description
string
Yes
One sentence on what the move does on screen (the text description standing in for a preview clip).
Built-in color-grade presets are LUT looks for Studio compositions. Their catalog is public and identical for every caller; the render job bakes the grade into the exported MP4.
Property
Value
Catalog
GET /color-presets, anonymous
Grade input
data-color-grade on timed HTML elements or the canvas, and colorGrade in nolgia-edits.json
Stable identity
The preset's slug, used as colorGrade.preset
Groups
Present film first; looks contains the legacy stylized set
LUT download
GET /color-presets/{slug}/cube, a public 33-point .cube text file
Download a color preset's 33-point .cube LUT — the pure preset op chain (no manual adjustments), baked on demand from the embedded manifest. Public, aggressively cacheable.
shellRead the built-in grade catalog
$ curl -sS https://api.nolgia.ai/v1/color-presets
This is the first complete preset from an anonymous production read; the rest of presets is omitted.
JSON200 — production color preset, trimmed catalog
{"version":2,"presets":[{"category":"motion","description":"The modern film workhorse: tungsten balanced, warm shadows, soft highlight roll.","group":"film","name":"Kodak Vision3 500T","slug":"kodak-vision3-500t"}]}
Field
Type
Required
Description
version
integer
Yes
Manifest version; bumps when the recipe set changes.
presets
array of ColorPreset
Yes
Presets in manifest order.
Field
Type
Required
Description
slug
string
Yes
Stable identity of the preset — the value a colorGrade's preset field references.
name
string
Yes
Display name.
description
string
Yes
One-line description of the look.
category
string
No
Editorial category within its group. Film-stock presets use motion | stills | mono | finish | camera; the legacy looks use look. Empty on presets recorded before the field existed.
group
string
No
Catalog group. film is the primary set (real film stock emulations, round 39); looks is the legacy stylized set kept as a secondary group. Clients should present film first.
The .cube download contains the pure preset operations; manual grade adjustments are not included. Composition exports include their color-grade LUTs under luts/.