Sample code for 30+ languages & platforms
Java 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 Java Downloads

Chilkat2 Java
import com.chilkatsoft.chilkat2.Ai;
import com.chilkatsoft.chilkat2.ChilkatException;
import com.chilkatsoft.chilkat2.JsonObject;
import com.chilkatsoft.chilkat2.StringTable;

public class ChilkatExample {

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

        Ai ai = new Ai();

        // 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.setProvider("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.setBaseUrl("https://chilkat.cognitiveservices.azure.com/openai/deployments/{deployment}/chat/completions?api-version=2025-01-01-preview");
        ai.setApiSpec("ChatCompletions");

        // Use your provider's API key.
        ai.setApiKey("MY_API_KEY");

        // Set Azure Foundry specific params.
        JsonObject azureParams = new JsonObject();

        // 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);

        StringTable st = new StringTable();
        try {
            ai.getModels(st);
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        int count = st.getCount();
        int i = 0;
        while (i < count) {
            System.out.println(st.stringAt(i));
            i = i + 1;
        }

        // 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
    }
}