Capabilities and models
List the capabilities Windpaint defines, the models that implement them, and each model's current price per tier.
Two read-only views of the same catalog. GET /v1/generation/capabilities is organized by capability (what you can ask for); GET /v1/generation/models is organized by model. Both return current prices, so read prices from here instead of hardcoding them.
GET /v1/generation/capabilities
Lists every capability with its input slots, accepted aspect ratios, and the models that implement it.
Scope: generation:read
Takes no parameters. Returns {"data": [Capability]}, in a fixed order.
A capability with no model yet (for example image.edit or audio.speech today) is still listed, with models: []. Submitting to it returns 422 with No model implements <capability> yet.
The capability id: image.generate, video.generate, image.edit, mask.segment, media.upscale, audio.speech, video.lipsync or text.llm. Use it in POST /v1/generation/capabilities/{capability}.
What the capability does.
The asset kind it produces: image, video, audio, mask or text. null for media.upscale, whose output kind follows its input.
Whether prompt must be non-empty. false only for media.upscale and video.lipsync.
What the prompt is for. "Instruction or description." for most capabilities; "The text to speak." for audio.speech; "What to segment, e.g. 'the product'." for mask.segment.
The capability’s asset input slots, with the capability’s own limits. A model can tighten these; see models[].inputs. Empty for image.generate.
Accepted aspect_ratio values: 1:1, 4:3, 3:4, 3:2, 2:3, 16:9, 9:16, 21:9, 4:5, 5:4.
The models that implement this capability, in default order. When you omit model on submit, the first available one is used.
GET /v1/generation/models
Lists every model with the capabilities it implements and their current prices.
Scope: generation:read
Takes no parameters. Returns {"data": [Model]}. Use the id in POST /v1/generation/models/{model} or as model in a capability request.
The model id, for example z-image-turbo or wan-2.2-i2v. Ids are stable slugs; there is no version pinning.
One entry per capability the model implements. Each live model implements one today.
This view doesn’t include input slots. To see a model’s slot limits, read its offering in GET /v1/generation/capabilities.
See Models for what each model is good at.