Sample code for 30+ languages & platforms
Dart Requires Chilkat v11.3.0+

Azure AI Foundry List Models

See more AI Examples

Demonstrates how to list available models in Azure AI Foundry.

Chilkat Dart Downloads

Dart
import 'package:chilkat/chilkat.dart';

void main() {
  // This example assumes the Chilkat API to have been previously unlocked.
  // See Global Unlock Sample for sample code.

  final ai = CkAi();

  // Before running the code, ensure the following prerequisites for App Registration in Microsoft Entra ID for Azure AI Foundry:
  // 1. Register an app for Azure AI Foundry.
  // 2. Assign an IAM Role to the resource to enable OAuth2 Client-Credentials for calling Azure AI Foundry.

  // For Azure AI Foundry we use "custom".
  ai.provider = 'custom';

  // The base URL format for the Chat Completions API when using the cognitiveservices.azure.com domain is:
  // https://{resource-name}.cognitiveservices.azure.com/openai/deployments/{deployment-id}/chat/completions?api-version={api-version}

  // The string "{deployment}" in the base URL is dynamically replaced with the selected AI model each time a request is sent.
  // In this case, the chosen model (below) is "gpt-5.6-terra".  After substitution the base URL becomes: 
  // https://chilkat.cognitiveservices.azure.com/openai/deployments/gpt-5.6-terra/chat/completions?api-version=2025-01-01-preview

  // In this example, our resource name is "chilkat", and the api-version is "2025-01-01-preview"
  ai.baseUrl = 'https://chilkat.cognitiveservices.azure.com/openai/deployments/{deployment}/chat/completions?api-version=2025-01-01-preview';
  ai.apiSpec = 'ChatCompletions';

  // Use your provider's API key.
  ai.apiKey = 'MY_API_KEY';

  // Set Azure Foundry specific params.
  final azureParams = CkJsonObject();

  // The tenant ID is a GUID such as 17280f2d-f709-4a7b-af1d-9928190e13cf
  azureParams.updateString('azure.tenantId', 'TENANT_ID');

  // The client ID is a GUID such as 4abd4bf6-5260-4795-90f6-1e91ce4f582c
  azureParams.updateString('azure.clientId', 'CLIENT_ID');

  // Such as UZc8Q~YBrRIgfe_zbAOwWV.8ikuHa3JJF7LvCdt.  (this is not a GUID)
  azureParams.updateString('azure.clientSecret', 'CLIENT_SECRET');

  // The subscription ID is a GUID such as 4abd4bf6-5260-4795-90f6-1e91ce4f582c
  azureParams.updateString('azure.subscription', 'SUBSCRIPTION_ID');

  // Such as eastus
  azureParams.updateString('azure.location', 'LOCATION');

  // With the Azure-specific provider params specified,
  // Chilkat will internally fetch the OAuth2 access token using client credentials as needed.
  ai.setProviderParams(azureParams);

  final st = CkStringTable();
  try {
    ai.getModels(st);
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  final count = st.count;
  var i = 0;
  while (i < count) {
    print(st.stringAt(i));
    i++;
  }

  // Sample output:
  // (The exact list varies by resource, region, and date, and changes as models are added and retired.)

  // dall-e-3
  // dall-e-2
  // whisper
  // gpt-4
  // gpt-4-32k
  // gpt-4o
  // gpt-4o-mini
  // gpt-4o-audio-preview
  // gpt-4o-mini-audio-preview
  // gpt-35-turbo
  // gpt-35-turbo-instruct
  // gpt-35-turbo-16k
  // text-embedding-ada-002
  // text-embedding-3-small
  // text-embedding-3-large
  // o1-mini
  // o1
  // o3-mini
  // o4-mini
  // gpt-4.1
  // gpt-4.1-mini
  // gpt-4.1-nano
  // gpt-5
  // gpt-5-chat
  // gpt-5-mini
  // gpt-5-nano
  // gpt-5-codex
  // gpt-5.4-pro
  // gpt-5.4-mini
  // gpt-5.4-nano
  // gpt-5.5-pro
  // gpt-5.6-sol
  // gpt-5.6-terra
  // gpt-5.6-luna
  // gpt-image-1
  // gpt-image-2
  // gpt-realtime
  // gpt-transcribe
  // AI21-Jamba-1.5-Large
  // AI21-Jamba-1.5-Mini
  // qwen3-32b
  // Codestral-2501
  // cohere-command-a
  // Cohere-command-r-plus-08-2024
  // Cohere-embed-v3-english
  // Cohere-embed-v3-multilingual
  // Cohere-rerank-v4.0-pro
  // Cohere-rerank-v4.0-fast
  // DeepSeek-R1-0528
  // DeepSeek-V3.1
  // DeepSeek-V3.2
  // DeepSeek-V3.2-Speciale
  // embed-v-4-0
  // jais-30b-chat
  // Llama-3.3-70B-Instruct
  // Meta-Llama-3.1-405B-Instruct
  // Meta-Llama-3.1-70B-Instruct
  // Meta-Llama-3.1-8B-Instruct
  // Llama-4-Maverick-17B-128E-Instruct-FP8
  // Llama-4-Scout-17B-16E-Instruct
  // MAI-DS-R1
  // Ministral-3B
  // Mistral-Large-2411
  // Mistral-Large-3
  // Mistral-Nemo
  // mistral-small-2503
  // mistral-medium-2505
  // mistral-document-ai-2505
  // Phi-4
  // Phi-4-mini-instruct
  // Phi-4-multimodal-instruct
  // Phi-4-reasoning
  // Phi-4-mini-reasoning
  // grok-3
  // grok-3-mini
  // grok-4-fast-reasoning
  // grok-4-fast-non-reasoning
  // grok-4.5
  // gpt-oss-120b
  // Kimi-K2-Thinking
  // FLUX.1-Kontext-pro
  // FLUX.2-pro
}