Skip to main content
All docs
V24.2

AIIntegration.GenerateImageDescriptionAsync(IAIExtensionsContainer, GenerateImageDescriptionRequest, CancellationToken) Method

Generates the description for the specified image.

Namespace: DevExpress.AIIntegration

Assembly: DevExpress.AIIntegration.v24.2.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 AzureOpenAIClient(
        new Uri(azureOpenAIEndpoint),
        new AzureKeyCredential(azureOpenAIKey))
            .AsChatClient("gpt-4o-mini");
    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