Catalog
Call GET /catalog before every create flow. The catalog is the source of truth for product types, generation models, account limits, languages, voices, and styles.
Use content_types[].generation_models[] for AI Image and AI Video model capabilities. Each AI Video model declares its tasks, ratios, resolutions, durations, native audio, attachment support, and conversational editing support.
The current public surface supports text-to-video. First frame, last frame, and attachment flags are false until a Public Files API is available.
For AI Image, use the selected model's allowed_aspect_ratios; do not mix ratios from different providers.
Read the catalog at request time
Treat the catalog as runtime capability data, not as a page you copy once into client code. Availability can differ by content type, model, account entitlement, and supported output. Build UI choices and validation from the returned fields, then send only values from the selected type and model. This keeps an integration from exposing a stale duration, voice, ratio, or provider combination.
Match fields to the selected product
The common request fields describe the result, while some products have their own controls. duration_seconds belongs to Explainer Video; scene_count belongs to Read Aloud Video and AI PPT. AI Image and AI Video use their respective nested generation objects in OpenAPI. Do not carry a setting from one product type into another just because the field looks familiar.
If the catalog says a feature is unavailable, leave it out rather than sending a speculative field. For example, current public AI Video supports text-to-video only; clients should wait for the catalog to expose first-frame, last-frame, or attachment support.
Related guides
Quickstartfor a catalog-first request flowCreations & Jobsfor polling completed workAI VideoandAI Imagefor model-specific payloads
