---
title: "Media · Generate · Discover generation model field schema (step 1 of 3)"
method: GET
path: "/api/v1/ai-imageart/model-fields"
tags: ["aiGeneration"]
---

# Media · Generate · Discover generation model field schema (step 1 of 3)

`GET /api/v1/ai-imageart/model-fields`

## Request

- Base URL: `https://api.simplified.com`
- URL: `https://api.simplified.com/api/v1/ai-imageart/model-fields`
- Auth: API key in header `Authorization`

Step 1 — discover the dynamic per-(model, capability) parameter
schema before calling `generateVideo`. Not needed for `generateImage`,
which takes one fixed contract for every model. A single
unified endpoint serves both image and video engines, selected by
the required `type` query param.

Response modes (driven by which query params you pass):

- `type` only → `{models: [...]}` — list every registered engine of
  that type, its capabilities, and metadata (incl. `credits_per_image`
  / `estimated_time`). Use this to pick a `model_id`.
- `type` + `model_id` → single-model detail with capabilities map.
- `type` + `model_id` + `capability` → the full FieldDescriptor
  schema for that (model, capability) pair (labels, field_type,
  required flags, enum_values, defaults). This is the contract that
  `generateImage` / `generateVideo`'s `parameters` must match.

Use this before generating — it eliminates 400 errors on invalid /
missing parameter keys.

## Query parameters

- `type` 'video' | 'image', required
- `model_id` string
- `capability` 'prompt' | 'reference_image' | 'multiple_images' | 'first_last_frame' | 'video_to_video'

## Response `200`

Shape depends on which query params are present — see operation
description. Always JSON.

- unknown

## Other responses

- `400`: Missing required `type` or invalid `capability`.
- `401`: Unauthorized.

---

[API](https://skmtc.dev/simplified/apis/platform.md) - [All operations](https://skmtc.dev/simplified/apis/platform/llms.txt) - [OpenAPI document](https://skmtc.dev/simplified/apis/platform/revisions/0815a1ba1e4e?raw)
