Skip to main content
All docs
V25.1
  • AIIntegration.GenerateImageDescriptionAsync(IAIExtensionsContainer, GenerateImageDescriptionRequest, CancellationToken) Method

    Generates the description for the specified image.

    Namespace: DevExpress.AIIntegration

    Assembly: DevExpress.AIIntegration.v25.1.dll

    NuGet Package: DevExpress.AIIntegration

    Declaration

    public static Task<ImageTextResponse> GenerateImageDescriptionAsync(
        this IAIExtensionsContainer container,
        GenerateImageDescriptionRequest request,
        CancellationToken cancellationToken = default(CancellationToken)
    )

    Parameters

    Name Type Description
    container IAIExtensionsContainer

    The AI extensions container.

    request GenerateImageDescriptionRequest

    The request to generate the description for the specified image.

    Optional Parameters

    Name Type Default Description
    cancellationToken CancellationToken null

    The token that cancels the task.

    Returns

    Type Description
    Task<ImageTextResponse>

    The response that contains the AI-generated description of the specified image.

    Remarks

    The following example registers an Azure OpenAI client to use the AI-powered extension in an .NET Console application to generate a description for the following image:

    Toolbar with File menu and various document actions.

    using Azure;
    using Azure.AI.OpenAI;
    using Microsoft.Extensions.AI;
    using DevExpress.AIIntegration;
    using DevExpress.AIIntegration.Extensions;
    
    SetEnvironmentVariables();
    
    // Register an Azure OpenAI client
    AIExtensionsContainerDefault defaultAIExtensionsContainer = RegisterAzureOpenAIClient(
        Environment.GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT"),
        Environment.GetEnvironmentVariable("AZURE_OPENAI_APIKEY")
    );
    
    string imageBase64 = "iVBORw0KGgoAAAANSUhEUgAABhgAAAF+CAMAAABHxuB6AAAABGdBTUEAALGPC...";
    var response = await defaultAIExtensionsContainer.GenerateImageDescriptionAsync(
        new GenerateImageDescriptionRequest(imageBase64)
    );
    
    Console.WriteLine(response);
    
    /* Output:
     * Toolbar with File menu and various document actions.
     */
    
    AIExtensionsContainerDefault RegisterAzureOpenAIClient(string azureOpenAIEndpoint, string azureOpenAIKey) {
        IChatClient client = new Azure.AI.OpenAI.AzureOpenAIClient(new Uri(azureOpenAIEndpoint),
            new System.ClientModel.ApiKeyCredential(azureOpenAIKey)).GetChatClient("gpt-4o-mini").AsIChatClient();
    
        return AIExtensionsContainerConsole.CreateDefaultAIExtensionContainer(client);
    }
    
    void SetEnvironmentVariables() {
        Environment.SetEnvironmentVariable("AZURE_OPENAI_ENDPOINT", {SPECIFY_YOUR_AZURE_ENDPOINT});
        Environment.SetEnvironmentVariable("AZURE_OPENAI_APIKEY", {SPECIFY_YOU_AZURE_KEY});
    }
    
    See Also