Clarifai · Schema

apiModel

This is the Model object which represents a created model in the platform. Each model has a particular type denoted by the model_type_id. When creating a Model with PostModels the following happens: - if the ModelType is trainable, then a new ModelVersion is created that is - UNTRAINED status by default - TRAINED status if a ModelVersion was included with PretrainedModelConfig in PostModels - if the ModelType is not trainable, then a new ModelVersion is created with TRAINED status. To modify config settings like OutputInfo for the Model you an use PatchModels. This will also create a new ModelVersion, potentially UNTRAINED following the same rules as above. The fields that are patchable include Model.name, Model.display_name and Model.output_info (except the Model.output_info.type and Model.output_info.type_ext).

AIComputer VisionNLPImage RecognitionObject DetectionText AnalysisVisual SearchMachine LearningCustom Model TraininggRPC

Properties

Name Type Description
id string The model's ID. Must be unique within a particular app and URL-friendly.
name string DEPRECATED: Please use the model id to name the model.
created_at string
modified_at string
app_id string The app the model belongs to.
output_info object
model_version object A particular version of the model, e.g., to specify the version when creating a workflow or when listing Models to include the latest ModelVersion of the model in the response.
display_name string DEPRECATED: Please use the model id to name the model.
user_id string The user id that the model belongs to.
default_eval_info object The default evaluation info. Can be overwritten by eval request.
model_type_id string The ModelType.Id that is used for this model. This is used for all versions and you cannot change model_type_id between versions of the same model.
task string
visibility object The visibility field represents whether this message is privately/publicly visible. To be visible to the public the App that contains it AND the User that contains the App must also be publicly visibl
description string
metadata object
presets object
notes string Notes for the model This field should be used for in-depth notes and supports up to 64Kbs.
toolkits array
use_cases array
languages array Tags from languages category.
languages_full array Tags from languages category with names, only used in responses.
check_consents array
is_starred boolean
star_count integer
workflow_recommended boolean
bookmark_origin object bookmark info. When set, this model is a bookmarked model of this app. Info in this field will allow you to find/access original model.
image object
license_type object
source object
creator string
version_count integer
billing_type object
featured_order integer Whether the model should be featured, and if so, the order in which it should be featured. The order is relative to other models that are also featured. Models with a higher order will be featured fir
deploy_restriction object Deploy restriction for the model.
replica_count integer replica_count indicates the number of deployed model replicas. This field is populated when `show_replicas` is true in ListModelsRequest.
open_router_info object
View JSON Schema on GitHub

JSON Schema

apiModel.json Raw ↑
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/clarifai/refs/heads/main/json-schema/apiModel.json",
  "title": "apiModel",
  "description": "This is the Model object which represents a created model in the platform.\nEach model has a particular type denoted by the model_type_id.\nWhen creating a Model with PostModels the following happens:\n - if the ModelType is trainable, then a new ModelVersion is created that is\n   - UNTRAINED status by default\n   - TRAINED status if a ModelVersion was included with PretrainedModelConfig in PostModels\n - if the ModelType is not trainable, then a new ModelVersion is created with TRAINED status.\nTo modify config settings like OutputInfo for the Model you an use PatchModels. This will\nalso create a new ModelVersion, potentially UNTRAINED following the same rules as above.\nThe fields that are patchable include Model.name, Model.display_name and Model.output_info\n(except the Model.output_info.type and Model.output_info.type_ext).",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "The model's ID. Must be unique within a particular app and URL-friendly."
    },
    "name": {
      "type": "string",
      "description": "DEPRECATED: Please use the model id to name the model."
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "title": "When the model was created. We follow the XXXX timestamp\nformat. We use https://www.ietf.org/rfc/rfc3339.txt format:\n\"2006-01-02T15:04:05.999999Z\" so you can expect results like\n the following from the API:\n \"2017-04-11T21:50:50.223962Z\""
    },
    "modified_at": {
      "type": "string",
      "format": "date-time",
      "title": "When was the most recent model version created at"
    },
    "app_id": {
      "type": "string",
      "description": "The app the model belongs to."
    },
    "output_info": {
      "$ref": "#/definitions/apiOutputInfo",
      "title": "Info about the model's output and configuration.\nDEPRECATED: Will be moved to model version"
    },
    "model_version": {
      "$ref": "#/definitions/apiModelVersion",
      "description": "A particular version of the model, e.g., to specify the version when creating a workflow or\nwhen listing Models to include the latest ModelVersion of the model in the response."
    },
    "display_name": {
      "type": "string",
      "description": "DEPRECATED: Please use the model id to name the model."
    },
    "user_id": {
      "type": "string",
      "description": "The user id that the model belongs to."
    },
    "default_eval_info": {
      "$ref": "#/definitions/apiEvalInfo",
      "description": "The default evaluation info. Can be overwritten by eval request."
    },
    "model_type_id": {
      "type": "string",
      "description": "The ModelType.Id that is used for this model. This is used for all versions and you cannot\nchange model_type_id between versions of the same model."
    },
    "task": {
      "type": "string",
      "title": "The task the model was trained to do"
    },
    "visibility": {
      "$ref": "#/definitions/clarifaiapiVisibility",
      "description": "The visibility field represents whether this message is privately/publicly visible.\nTo be visible to the public the App that contains it AND the User that contains the App must\nalso be publicly visible."
    },
    "description": {
      "type": "string",
      "title": "Short description about this model"
    },
    "metadata": {
      "type": "object",
      "title": "To handle arbitrary json metadata you can use a struct field:\nhttps://github.com/google/protobuf/blob/master/src/google/protobuf/struct.proto"
    },
    "presets": {
      "type": "object"
    },
    "notes": {
      "type": "string",
      "description": "Notes for the model\nThis field should be used for in-depth notes and supports up to 64Kbs."
    },
    "toolkits": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "title": "Tags from toolkits category"
    },
    "use_cases": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "title": "Tags from use_cases category"
    },
    "languages": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Tags from languages category."
    },
    "languages_full": {
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "#/definitions/apiFullTag"
      },
      "description": "Tags from languages category with names, only used in responses."
    },
    "check_consents": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "is_starred": {
      "type": "boolean",
      "title": "Is starred by the requesting user (only showed on get/list requests)\nPlease use PostModelStars/DeleteModelStars endpoints to star/unstar a model"
    },
    "star_count": {
      "type": "integer",
      "format": "int32",
      "title": "How many users have starred the model (only showed on get/list requests)\nComputed value, not editable"
    },
    "workflow_recommended": {
      "type": "boolean",
      "title": "Whether it's recommended that this model is used within a workflow"
    },
    "bookmark_origin": {
      "$ref": "#/definitions/apiBookmarkOrigin",
      "description": "bookmark info. When set, this model is a bookmarked model of this app.\nInfo in this field will allow you to find/access original model."
    },
    "image": {
      "$ref": "#/definitions/apiImage",
      "title": "Representative image for this model"
    },
    "license_type": {
      "$ref": "#/definitions/apiLicenseType",
      "title": "License Type"
    },
    "source": {
      "$ref": "#/definitions/ModelSource"
    },
    "creator": {
      "type": "string",
      "title": "Creator of Model"
    },
    "version_count": {
      "type": "integer",
      "format": "int32"
    },
    "billing_type": {
      "$ref": "#/definitions/ModelBillingType"
    },
    "featured_order": {
      "type": "integer",
      "format": "int32",
      "description": "Whether the model should be featured, and if so, the order in which it should be featured.\nThe order is relative to other models that are also featured.\nModels with a higher order will be featured first."
    },
    "deploy_restriction": {
      "$ref": "#/definitions/apiDeployRestriction",
      "description": "Deploy restriction for the model."
    },
    "replica_count": {
      "type": "integer",
      "format": "int64",
      "description": "replica_count indicates the number of deployed model replicas.\nThis field is populated when `show_replicas` is true in ListModelsRequest."
    },
    "open_router_info": {
      "$ref": "#/definitions/apiOpenRouterInfo",
      "title": "OpenRouter Info for the model"
    }
  }
}