{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/flowra-dev/json-schema/flowra-dev-ai-model-response-dto-array-success-response-schema.json",
  "title": "AiModelResponseDtoArraySuccessResponse",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/flowra-dev-llm-api-openapi.yml#/components/schemas/AiModelResponseDtoArraySuccessResponse",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Success status"
    },
    "message": {
      "type": "string",
      "description": "Success message"
    },
    "data": {
      "description": "Response data",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Model row UUID"
          },
          "modelId": {
            "type": "string",
            "description": "Model id used in API calls"
          },
          "canonicalSlug": {
            "type": [
              "string",
              "null"
            ]
          },
          "name": {
            "type": "string"
          },
          "provider": {
            "type": "string"
          },
          "contextLength": {
            "type": [
              "number",
              "null"
            ]
          },
          "knowledgeCutoff": {
            "type": [
              "string",
              "null"
            ]
          },
          "architecture": {
            "type": "object",
            "properties": {
              "modality": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "OpenRouter modality string (e.g. text->text)"
              },
              "inputModalities": {
                "description": "Accepted input modalities",
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "outputModalities": {
                "description": "Produced output modalities",
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          },
          "supportedParameters": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "pricing": {
            "type": "object",
            "properties": {
              "prompt": {
                "type": "string",
                "description": "USD per prompt token"
              },
              "completion": {
                "type": "string",
                "description": "USD per completion token"
              },
              "input": {
                "type": "string",
                "description": "UI alias for prompt"
              },
              "output": {
                "type": "string",
                "description": "UI alias for completion"
              },
              "cachedInputTokens": {
                "type": "string",
                "description": "USD per cached input token"
              },
              "cacheCreationInputTokens": {
                "type": "string",
                "description": "USD per cache-creation input token"
              }
            }
          },
          "mediaKind": {
            "type": [
              "string",
              "null"
            ],
            "enum": [
              "image",
              "video",
              "tts",
              "stt",
              null
            ],
            "description": "Dedicated media endpoint kind. Null = chat/LLM."
          },
          "reserveUsdPerUnit": {
            "type": [
              "number",
              "null"
            ],
            "description": "Worst-case USD per billing unit for credit reserve"
          },
          "mediaCapabilities": {
            "type": "object",
            "properties": {
              "unit": {
                "type": "string",
                "enum": [
                  "image",
                  "second",
                  "char",
                  "minute"
                ],
                "description": "Billing unit for credit reserve"
              },
              "supportsEdit": {
                "type": "boolean",
                "description": "Supports image-to-image / image-to-video edit"
              },
              "defaultVoice": {
                "type": "string"
              },
              "supportedVoices": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "durations": {
                "type": "array",
                "items": {
                  "type": "number"
                }
              },
              "resolutions": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "aspectRatios": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "sizes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          },
          "isActive": {
            "type": "boolean"
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "supportsReasoning": {
            "type": "boolean",
            "description": "Whether the model supports a reasoning/thinking mode"
          },
          "supportsEffort": {
            "type": "boolean",
            "description": "Whether reasoning effort can be set for this model"
          }
        },
        "required": [
          "id",
          "modelId",
          "name",
          "provider",
          "isActive",
          "supportsReasoning",
          "supportsEffort"
        ]
      }
    }
  },
  "required": [
    "success",
    "message",
    "data"
  ]
}