{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-docs/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"AI Models","projectTitle":"Frontline Documentation"},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"ai-models","__idx":0},"children":["AI Models"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["An ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["AI Model"]}," is an LLM (or transcription / file-analysis model) that Frontline exposes to agents and workflows. Models are managed by Frontline — you cannot create or modify them via the Public API. You only ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["discover"]}," them and reference them by ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["id"]}," or by ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["model"]}," + ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["aiVendor"]}," from elsewhere."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"identity","__idx":1},"children":["Identity"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Type"},"children":["Type"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Notes"},"children":["Notes"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["id"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["number"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Catalog ids are often negative; use as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["aiModelId"]}," when configuring agents or nodes."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["name"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Display name (e.g. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GPT-4o"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Claude 3.5 Sonnet"]},")."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["description"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string?"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Marketing-style summary."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["type"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["enum"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["TEXT"]}," · ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["TRANSCRIPTION"]}," · ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["FILE_ANALYSIS"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["aiVendor"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string?"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["E.g. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["OPENAI"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ANTHROPIC"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GOOGLE"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["reasoningModel"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["boolean?"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["true"]}," for thinking-tier models."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["creditsPerMessage"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["number?"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Cost in Frontline credits per message generated."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["isDefault"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["boolean?"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Whether this is the default model for its ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["type"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["order"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["number?"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Display order in the UI."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["analyticsColor"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string?"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Hex color used in dashboards."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["externalId"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string?"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Provider-side identifier (use as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["model"]}," on nodes)."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"model-types-and-where-to-use-them","__idx":2},"children":["Model types and where to use them"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"type"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["type"]}]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Typical use"},"children":["Typical use"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["TEXT"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Agent settings, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["TOOLS_AI"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["AI_CAPTURE"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["DATA_TRANSFORMER"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CONDITIONAL_ROUTING"]}," (AI mode), ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SAY_AI"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["RESPONSE_AI"]},", and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SEND_MESSAGE"]}," dynamic messages."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["TRANSCRIPTION"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Automation ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["TRANSCRIPTION"]}," nodes."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["FILE_ANALYSIS"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Automation ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["FILE_ANALYSIS"]}," nodes (OCR + structured analysis)."]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Pick models with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET /public/v1/ai-models?type=TEXT"]}," (or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["TRANSCRIPTION"]}," / ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["FILE_ANALYSIS"]},"). The API validates that each node references an existing, non-deprecated model of the correct type."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"where-they-are-used","__idx":3},"children":["Where they are used"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/concepts/agents"},"children":["Agent"]}," settings"]}," — set ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["aiModelId"]}," in ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PUT /agents/{agentId}/agent-setting"]}," to change the model an agent uses for conversation. Frontline validates the ID before saving."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Workflow nodes"]}," — AI-flavored nodes may set ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["aiModelId"]},", or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["model"]}," + ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["aiVendor"]},". When omitted, the runtime may use account defaults where supported; any explicit reference is validated at save time."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Transcription / file analysis"]}," — use models whose ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["type"]}," matches the node."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"defaults","__idx":4},"children":["Defaults"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Frontline ships defaults per model ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["type"]},":"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"GET /public/v1/ai-models/default?type=TEXT\nGET /public/v1/ai-models/default?type=TRANSCRIPTION\nGET /public/v1/ai-models/default?type=FILE_ANALYSIS\n"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If you don't pin a specific ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["aiModelId"]},", Frontline falls back to these where the node allows it."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"operations","__idx":5},"children":["Operations"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Verb"},"children":["Verb"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Path"},"children":["Path"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Purpose"},"children":["Purpose"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/public/v1/ai-models"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["List (optional ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["type"]}," filter)"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/public/v1/ai-models/default"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Get default for a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["type"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/public/v1/ai-models/{aiModelId}"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Detail"]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Read-only. Listing accepts ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["type=TEXT"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["type=TRANSCRIPTION"]},", or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["type=FILE_ANALYSIS"]}," to filter."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"cli","__idx":6},"children":["CLI"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"frontline ai-models list --type TEXT --table\nfrontline ai-models list --type FILE_ANALYSIS --table\nfrontline ai-models default --type TEXT\nfrontline ai-models describe -1\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Use the returned ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["id"]}," as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["aiModelId"]},", or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["externalId"]}," + ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["aiVendor"]}," as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["model"]}," + ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["aiVendor"]}," on workflow nodes."]}]},"headings":[{"value":"AI Models","id":"ai-models","depth":1},{"value":"Identity","id":"identity","depth":2},{"value":"Model types and where to use them","id":"model-types-and-where-to-use-them","depth":2},{"value":"Where they are used","id":"where-they-are-used","depth":2},{"value":"Defaults","id":"defaults","depth":2},{"value":"Operations","id":"operations","depth":2},{"value":"CLI","id":"cli","depth":2}],"frontmatter":{"seo":{"title":"AI Models"}},"lastModified":"2026-07-29T16:50:31.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/docs/concepts/ai-models","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}