модели создания изображений Azure OpenAI

Важно

Модель dall-e-3 создания образов DALL-E была прекращена 4 марта 2026 г. и больше не доступна для новых развертываний. Существующие развертывания являются нефункциональными. Вместо этого используйте модель серии gpt-image- для создания изображений. См. руководство по созданию образов для получения обновленных инструкций.

Модели создания изображений OpenAI создают изображения из пользовательских текстовых запросов и необязательных изображений. В этой статье объясняется, как использовать эти модели, настроить параметры и воспользоваться расширенными возможностями создания изображений в Azure.

Вы можете выполнять создание изображений с помощью API создания изображений или API ответов. Можно поэкспериментировать с созданием изображений на портале Foundry

Чтобы выбрать предпочитаемый подход и модель API, используйте вкладки в начале этой страницы.

Модели и возможности

Используйте эту таблицу для изучения различий между различными моделями создания изображений, а также для выбора оптимальной модели для создания изображений.

Аспект GPT-Image-2 GPT-Image-1.5 GPT-Image-1 GPT-Image-1-Mini
Доступности Общедоступная предварительная версия Предпросмотр с ограниченным доступом (Подать заявку на доступ к GPT-image-1.5) Предварительная версия с ограниченным доступом (Подать заявку на доступ к GPT-image-1) Предварительная версия с ограниченным доступом (Подать заявку на доступ к GPT-image-1)
Сильные стороны Лучше всего подходит для высокого разрешения и работы с 4K, улучшенного редактирования изображений и поддержки широкого спектра соотношений сторон. Лучше всего подходит для реалистичности, следования инструкциям, мультимодального контекста и улучшенной скорости и сниженным затратам Лучше всего подходит для достижения реалистичности, следования инструкции и мультимодального контекста. Лучше всего подходит для быстрого создания прототипов, массового создания или вариантов использования с учетом затрат
Входные и выходные модальности и формат Принимает входные данные текста и изображения ; выводит изображения только в base64 (без параметра URL-адреса). Принимает входные данные текста и изображения ; выводит изображения только в base64 (без параметра URL-адреса). Принимает входные данные текста и изображения ; выводит изображения только в base64 (без параметра URL-адреса). Принимает входные данные текста и изображения ; выводит изображения только в base64 (без параметра URL-адреса).
Размеры изображений и разрешения Произвольные разрешения: оба края должны быть кратны 16 пикселям; длинный край до 3840 пикселей (4K); соотношение сторон до 3:1; число пикселей от 655 360 до 8 294 400. 1024×1024, 1024×1536, 1536×1024 1024×1024, 1024×1536, 1536×1024 1024×1024, 1024×1536, 1536×1024
Параметры качества Переработанные средства управления качеством: low, medium, high; low оптимизированы для вариантов использования с учетом задержки low, medium, high (по умолчанию = высокая) low, medium, high (по умолчанию = высокая) low, medium( high по умолчанию = средний)
Количество изображений на запрос 1–10 изображений на запрос (n параметр) 1–10 изображений на запрос (n параметр) 1–10 изображений на запрос (n параметр) 1–10 изображений на запрос (n параметр)
Редактирование (дополнение / вариации) ✅ Улучшенная производительность редактирования с помощью добавок и вариантов ✅ Поддерживает инпейнтинг и вариации с маской и подсказкой ✅ Поддерживает инпейнтинг и вариации с маской и подсказкой ✅ Поддерживает инпейнтинг и вариации с маской и подсказкой
Сохранение лица ✅ Расширенное сохранение лиц для реалистичных, согласованных результатов ✅ Расширенное сохранение лиц для реалистичных, согласованных результатов ✅ Расширенное сохранение лиц для реалистичных, согласованных результатов ❌ Нет специального сохранения лиц; лучше для непортретных и общих творческих изображений
Производительность и затраты Высокоуровневая, оптимизированная для реалистичности модель; более высокая задержка и стоимость Высокоуровневая, оптимизированная для реалистичности модель; улучшенная эффективность и задержка по протоколу GPT-Image-1 Высокоуровневая, оптимизированная для реалистичности модель; более высокая задержка и стоимость Экономичное и быстрое для крупномасштабного или итеративного создания

Краткое руководство

Используйте это руководство, чтобы начать работу с интерфейсами REST API для генерации изображений в моделях Foundry от Microsoft, вызова которых осуществляется посредством Azure OpenAI, с помощью Python.

Необходимые условия

Установка

Получение ключа и конечной точки

Чтобы успешно вызвать API-интерфейсы OpenAI Azure, вам потребуется следующая информация о ресурсе OpenAI Azure:

Переменная Имя Значение
Эндпоинт api_base Значение конечной точки находится в разделе Keys and Endpoint для ресурса на портале Azure. Вы также можете найти конечную точку на странице "Развертывания" на портале Foundry. Пример конечной точки: https://docs-test-001.openai.azure.com/
Ключ api_key Значение ключа также находится во вкладке Ключи и конечные точки для ресурса на портале Azure. Azure создает два ключа для ресурса. Можно использовать любое значение.

Перейдите к ресурсу на портале Azure. На панели навигации выберите "Ключи" и "Конечная точка " в разделе "Управление ресурсами". Скопируйте значение конечной точки и значение ключа доступа. Можно использовать значение KEY 1 или KEY 2 . Всегда наличие двух ключей позволяет безопасно поворачивать и повторно создавать ключи без нарушения работы службы.

Снимок экрана, показывающий страницу «Ключи и конечная точка» для ресурса Azure OpenAI на портале Azure.

Переменные среды

Создайте и назначьте переменные постоянной среды для ключа и конечной точки.

Важно

Мы рекомендуем Microsoft Entra ID проверку подлинности с помощью управляемых удостоверений для ресурсов Azure, чтобы избежать хранения учетных данных в приложениях, работающих в облаке.

Используйте ключи API с осторожностью. Не включайте ключ API непосредственно в код и никогда не публикуйте его. При использовании ключей API безопасно храните их в Azure Key Vault, регулярно поворачивайте ключи и ограничивайте доступ к Azure Key Vault с помощью управления доступом на основе ролей и ограничений доступа к сети. Для получения дополнительной информации о безопасном использовании ключей API в ваших приложениях, см. ключи API в Azure Key Vault.

Дополнительные сведения о безопасности служб ИИ см. в разделе Аутентификация запросов к службам Azure AI.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Создание нового приложения Python

Создайте файл Python с именем quickstart.py. Откройте новый файл в предпочтительном редакторе или интегрированной среде разработки.

  1. Замените содержимое quickstart.py следующим кодом. Измените значение prompt на предпочитаемый вами текст. Также задайте для deployment имя развертывания, которое вы выбрали при развертывании модели генерации изображений.

    import os
    import requests
    import base64
    from PIL import Image
    from io import BytesIO
    
    # set environment variables
    endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
    subscription_key = os.getenv("AZURE_OPENAI_API_KEY")
    
    deployment = "gpt-image-1.5" # the name of your GPT-image series deployment
    api_version = "2025-04-01-preview" # or later version
    
    def decode_and_save_image(b64_data, output_filename):
      image = Image.open(BytesIO(base64.b64decode(b64_data)))
      image.show()
      image.save(output_filename)
    
    def save_all_images_from_response(response_data, filename_prefix):
      for idx, item in enumerate(response_data['data']):
        b64_img = item['b64_json']
        filename = f"{filename_prefix}_{idx+1}.png"
        decode_and_save_image(b64_img, filename)
        print(f"Image saved to: '{filename}'")
    
    base_path = f'openai/deployments/{deployment}/images'
    params = f'?api-version={api_version}'
    
    generation_url = f"{endpoint}{base_path}/generations{params}"
    generation_body = {
      "prompt": "girl falling asleep",
      "n": 1,
      "size": "1024x1024",
      "quality": "medium",
      "output_format": "png",
      # "background": "transparent",  # "auto" or "transparent" (GPT-image-1 only; requires PNG output)
      # "output_compression": 100,  # 0-100 compression level (JPEG output only)
    }
    generation_response = requests.post(
      generation_url,
      headers={
        'Api-Key': subscription_key,
        'Content-Type': 'application/json',
      },
      json=generation_body
    ).json()
    save_all_images_from_response(generation_response, "generated_image")
    
    # In addition to generating images, you can edit them.
    edit_url = f"{endpoint}{base_path}/edits{params}"
    edit_body = {
      "prompt": "girl falling asleep",
      "n": 1,
      "size": "1024x1024",
      "quality": "medium"
    }
    files = {
      "image": ("generated_image_1.png", open("generated_image_1.png", "rb"), "image/png"),
      # You can use a mask to specify which parts of the image you want to edit.
      # The mask must be the same size as the input image.
      # "mask": ("mask.png", open("mask.png", "rb"), "image/png"),
    }
    edit_response = requests.post(
      edit_url,
      headers={'Api-Key': subscription_key},
      data=edit_body,
      files=files
    ).json()
    save_all_images_from_response(edit_response, "edited_image")
    

    Скрипт выполняет синхронный вызов API создания образов.

    Важно

    Не забудьте удалить ключ из кода, когда вы закончите, и никогда не публикуйте ключ. Для рабочей среды используйте безопасный способ хранения и доступа к учетным данным. Дополнительные сведения см. в разделе Azure Key Vault.

  2. Запустите приложение командой python.

    python quickstart.py
    

    Подождите несколько минут, чтобы получить ответ.

Выход

Выходные данные из успешного вызова API создания изображений выглядят следующим образом. Поле b64_json содержит данные выходных изображений в кодировке Base64.

{ 
    "created": 1698116662, 
    "data": [ 
        { 
            "b64_json": "<base64 image data>"
        }
    ]
} 

Успешный ответ включает:

  • Метка created времени (эпоха Unix)
  • data Массив с по крайней мере одним объектом изображения — значением b64_json (в кодировке Base64) для каждого созданного изображения

Распространенные ошибки

Ошибка Причина Разрешение
DeploymentNotFound Имя развертывания не существует или написано с ошибкой Проверьте имя развертывания на портале Azure или Foundry
401 Unauthorized Недопустимый или отсутствующий ключ API Убедитесь, что AZURE_OPENAI_API_KEY переменная среды задана правильно
429 Too Many Requests Превышено ограничение скорости Реализация логики повторных попыток с экспоненциальной задержкой
content_policy_violation Запрос или сгенерированные данные, заблокированные фильтром контента Измените запрос, чтобы соответствовать политике содержимого
InvalidPayload Отсутствуют необходимые параметры или недопустимые значения Убедитесь, что prompt, sizeи n правильно указаны

API-интерфейсы изображений содержат фильтр модерации содержимого. Если служба распознает запрос как вредное содержимое, она не создает изображение. Дополнительные сведения см. в разделе "Фильтрация содержимого". Примеры ответов на ошибки см. в руководстве по создании образов.

Система возвращает состояние операции Failed, и значение contentFilter в сообщении задается error.code. Ниже приведен пример:

{
    "created": 1698435368,
    "error":
    {
        "code": "contentFilter",
        "message": "Your task failed as a result of our safety system."
    }
}

Кроме того, возможно, что созданный образ фильтруется. В этом случае для сообщения об ошибке задано Generated image was filtered as a result of our safety system.значение . Ниже приведен пример:

{
    "created": 1698435368,
    "error":
    {
        "code": "contentFilter",
        "message": "Generated image was filtered as a result of our safety system."
    }
}

Очистка ресурсов

Если вы хотите удалить ресурс Azure OpenAI, можно удалить этот ресурс или группу ресурсов. При удалении группы ресурсов также удаляются все другие ресурсы, связанные с ним.

Используйте это руководство, чтобы приступить к созданию образов с помощью пакета SDK openAI Azure для Python.

Исходный код | библиотекиПакет | Образцы

Необходимые условия

Дополнительные сведения см. в разделе Создание ресурса и развертывание модели с помощью Azure OpenAI.

Установка

Получение ключа и конечной точки

Чтобы успешно вызвать API-интерфейсы OpenAI Azure, вам потребуется следующая информация о ресурсе OpenAI Azure:

Переменная Имя Значение
Эндпоинт api_base Значение конечной точки находится в разделе Keys and Endpoint для ресурса на портале Azure. Вы также можете найти конечную точку на странице Deployments на портале Foundry Microsoft. Пример конечной точки: https://docs-test-001.openai.azure.com/
Ключ api_key Значение ключа также находится во вкладке Ключи и конечные точки для ресурса на портале Azure. Azure создает два ключа для ресурса. Можно использовать любое значение.

Перейдите к ресурсу на портале Azure. На панели навигации выберите "Ключи" и "Конечная точка " в разделе "Управление ресурсами". Скопируйте значение конечной точки и значение ключа доступа. Можно использовать значение KEY 1 или KEY 2 . Всегда наличие двух ключей позволяет безопасно поворачивать и повторно создавать ключи без нарушения работы службы.

Снимок экрана, показывающий страницу «Ключи и конечная точка» для ресурса Azure OpenAI на портале Azure.

Переменные среды

Создайте и назначьте переменные постоянной среды для ключа и конечной точки.

Важно

Мы рекомендуем Microsoft Entra ID проверку подлинности с помощью управляемых удостоверений для ресурсов Azure, чтобы избежать хранения учетных данных в приложениях, работающих в облаке.

Используйте ключи API с осторожностью. Не включайте ключ API непосредственно в код и никогда не публикуйте его. При использовании ключей API безопасно храните их в Azure Key Vault, регулярно поворачивайте ключи и ограничивайте доступ к Azure Key Vault с помощью управления доступом на основе ролей и ограничений доступа к сети. Для получения дополнительной информации о безопасном использовании ключей API в ваших приложениях, см. ключи API в Azure Key Vault.

Дополнительные сведения о безопасности служб ИИ см. в разделе Аутентификация запросов к службам Azure AI.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Установка пакета SDK для Python

Откройте командную строку и перейдите к папке проекта. Установите пакет SDK для OpenAI Python с помощью следующей команды:

pip install openai

Установите также следующие библиотеки:

pip install requests
pip install pillow 

Создание изображений

Создайте файл Python quickstart.py. Откройте его в предпочитаемом редакторе или интегрированной среде разработки.

Замените содержимое quickstart.py следующим кодом.

from openai import AzureOpenAI
import os
import base64
from PIL import Image

client = AzureOpenAI(
    api_version="2025-04-01-preview",  
    api_key=os.environ["AZURE_OPENAI_API_KEY"],  
    azure_endpoint=os.environ['AZURE_OPENAI_ENDPOINT']
)

result = client.images.generate(
    model="gpt-image-1", # the name of your GPT-image series deployment
    prompt="a close-up of a bear walking through the forest",
    n=1,
    size="1024x1024",
    quality="high",
    output_format="png",
    # background="transparent",  # Set to "transparent" for transparent backgrounds (GPT-image-1 only; requires PNG)
    # output_compression=100,  # 0-100 compression level (JPEG output only)
)

# Set the directory for the stored image
image_dir = os.path.join(os.curdir, 'images')

# If the directory doesn't exist, create it
if not os.path.isdir(image_dir):
    os.mkdir(image_dir)

# Initialize the image path (note the filetype should be png)
image_path = os.path.join(image_dir, 'generated_image.png')

# GPT-image-1 models always return base64-encoded image data
image_base64 = result.data[0].b64_json
generated_image = base64.b64decode(image_base64)
with open(image_path, "wb") as image_file:
    image_file.write(generated_image)

# Display the image in the default image viewer
image = Image.open(image_path)
image.show()
  1. Убедитесь, что заданы переменные среды AZURE_OPENAI_ENDPOINT и AZURE_OPENAI_API_KEY.
  2. Измените значение prompt на предпочитаемый вами текст.
  3. Измените значение model на имя развернутой модели серии изображений GPT.

Важно

Не забудьте удалить ключ из кода, когда вы закончите, и никогда не публикуйте ключ. Для рабочей среды используйте безопасный способ хранения и доступа к учетным данным. Дополнительные сведения см. в разделе Azure Key Vault.

Запустите приложение командой python.

python quickstart.py

Подождите несколько минут, чтобы получить ответ.

Выход

Azure OpenAI сохраняет выходной образ в файле generated_image.png в указанном каталоге. Сценарий также отображает изображение в средстве просмотра изображений по умолчанию.

Успешный ответ включает:

  • Метка created времени
  • data Массив с по крайней мере одним объектом изображения
  • b64_json Поле с данными изображения в кодировке Base64 (модели GPT-image-1 всегда возвращают base64)

Распространенные ошибки

Ошибка Причина Разрешение
DeploymentNotFound Имя развертывания не существует или написано с ошибкой Проверьте имя развертывания на портале Azure или Foundry
AuthenticationError Недопустимый или отсутствующий ключ API Убедитесь, что AZURE_OPENAI_API_KEY переменная среды задана правильно
RateLimitError Превышено ограничение скорости Реализация логики повторных попыток с экспоненциальной задержкой
content_policy_violation Запрос или сгенерированные данные, заблокированные фильтром контента Измените запрос, чтобы соответствовать политике содержимого

API-интерфейсы изображений содержат фильтр модерации содержимого. Если служба распознает запрос как вредное содержимое, она не создает изображение. Дополнительные сведения см. в разделе "Фильтрация содержимого".

Очистка ресурсов

Если вы хотите удалить ресурс Azure OpenAI, можно удалить этот ресурс или группу ресурсов. При удалении группы ресурсов также удаляются все другие ресурсы, связанные с ним.

Запустите это руководство, чтобы приступить к генерации изображений с помощью Azure OpenAI SDK для C#.

исходный код Library | Package (NuGet) | Samples

Необходимые условия

предварительные требования Microsoft Entra ID

Для рекомендуемой проверки подлинности без ключа с помощью Microsoft Entra ID необходимо:

  • Установите Azure CLI, который используется для безключевой аутентификации в Microsoft Entra ID.
  • Назначьте Cognitive Services User роль вашей учетной записи пользователя. Роли можно назначить на портале Azure в разделе Access control (IAM)>Add role assignment.

Настройка

  1. Создайте новую папку image-quickstart и перейдите в папку быстрого запуска с помощью следующей команды:

    mkdir image-quickstart && cd image-quickstart
    
  2. Создайте консольное приложение со следующей командой:

    dotnet new console
    
  3. Установите клиентскую библиотеку OpenAI .NET с помощью команды dotnet add package:

    dotnet add package Azure.AI.OpenAI --version 1.0.0-beta.6
    
  4. Для рекомендуемой безключевой аутентификации с Microsoft Entra ID установите пакет Azure.Identity с помощью:

    dotnet add package Azure.Identity
    
  5. Для рекомендуемой безключевой аутентификации с помощью Microsoft Entra ID выполните вход в Azure с помощью следующей команды:

    az login
    

Получение сведений о ресурсе

Чтобы проверить подлинность приложения с помощью ресурса OpenAI Azure, необходимо получить следующие сведения:

Имя переменной Значение
AZURE_OPENAI_ENDPOINT Это значение можно найти в разделе Keys и Endpoint при изучении ресурса на портале Azure.
AZURE_OPENAI_DEPLOYMENT_NAME Это значение будет соответствовать пользовательскому названию, которое вы выбрали при развертывании модели. Это значение можно найти в разделе Resource Management>Model Deployments на портале Azure.

Дополнительные сведения о бессерверной проверке подлинности и настройке переменных среды.

Запустите быстрый старт

Пример кода в этом кратком руководстве использует Microsoft Entra ID для рекомендуемой аутентификации без использования ключей. Если вы предпочитаете использовать ключ API, можно заменить DefaultAzureCredential объект AzureKeyCredential объектом.

AzureOpenAIClient openAIClient = new AzureOpenAIClient(new Uri(endpoint), new DefaultAzureCredential()); 

Чтобы запустить инструкцию по быстрому старту, выполните следующие действия.

  1. Замените содержимое Program.cs следующим кодом и обновите значения заполнителей собственными.

    using Azure;
    using Azure.AI.OpenAI;
    using OpenAI.Images;
    using static System.Environment;
    
    string endpoint = Environment.GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT") ?? "https://<your-resource-name>.openai.azure.com/";
    string key = Environment.GetEnvironmentVariable("AZURE_OPENAI_API_KEY") ?? "<your-key>";
    
    // Use the recommended keyless credential instead of the AzureKeyCredential credential.
    AzureOpenAIClient openAIClient = new AzureOpenAIClient(new Uri(endpoint), new DefaultAzureCredential()); 
    //AzureOpenAIClient openAIClient = new AzureOpenAIClient(new Uri(endpoint), new AzureKeyCredential(key));
    
    // This must match the custom deployment name you chose for your model
    ImageClient chatClient = openAIClient.GetImageClient("gpt-image-1");
    
    var imageGeneration = await chatClient.GenerateImageAsync(
            "a happy monkey sitting in a tree, in watercolor",
            new ImageGenerationOptions()
            {
                Size = GeneratedImageSize.W1024xH1024
            }
        );
    
    Console.WriteLine(imageGeneration.Value.ImageUri);
    
  2. Запустите приложение с помощью команды dotnet run или кнопки запуска в верхней части Visual Studio:

    dotnet run
    

Выход

Данные изображения в кодировке Base64 печатаются в консоли.

Важно

GPT-image-1 и GPT-image-2 также поддерживают дополнительные параметры, такие как quality (low, medium, high), output_format (png, jpeg), background (auto, transparent) и output_compression (0-100, только JPEG). Дополнительные сведения см. в разделе "Параметры API".

Примечание

API-интерфейсы изображений содержат фильтр модерации содержимого. Если служба распознает запрос как вредное содержимое, он не вернет созданный образ. Дополнительные сведения см. в статье фильтра содержимого .

Очистка ресурсов

Если вы хотите очистить и удалить ресурс Azure OpenAI, можно удалить его. Перед удалением ресурса необходимо сначала удалить все развернутые модели.

Используйте это руководство, чтобы приступить к созданию образов с помощью пакета SDK openAI Azure для Java.

исходный код Library | Artifact (Maven) | Samples

Необходимые условия

предварительные требования Microsoft Entra ID

Для рекомендуемой проверки подлинности без ключа с помощью Microsoft Entra ID необходимо:

  • Установите Azure CLI, который используется для безключевой аутентификации в Microsoft Entra ID.
  • Назначьте Cognitive Services User роль вашей учетной записи пользователя. Роли можно назначить на портале Azure в разделе Access control (IAM)>Add role assignment.

Настройка

  1. Создайте новую папку image-quickstart и перейдите в папку быстрого запуска с помощью следующей команды:

    mkdir image-quickstart && cd image-quickstart
    
  2. Установите Apache Maven. Затем выполните команду mvn -v , чтобы подтвердить успешную установку.

  3. Создайте файл pom.xml в корне проекта и скопируйте в него следующий код:

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
         <modelVersion>4.0.0</modelVersion>
         <groupId>com.azure.samples</groupId>
         <artifactId>quickstart-image-generation</artifactId>
         <version>1.0.0-SNAPSHOT</version>
         <build>
             <sourceDirectory>src</sourceDirectory>
             <plugins>
             <plugin>
                 <artifactId>maven-compiler-plugin</artifactId>
                 <version>3.7.0</version>
                 <configuration>
                 <source>1.8</source>
                 <target>1.8</target>
                 </configuration>
             </plugin>
             </plugins>
         </build>
         <dependencies>    
             <dependency>
                 <groupId>com.azure</groupId>
                 <artifactId>azure-ai-openai</artifactId>
                 <version>1.0.0-beta.3</version>
             </dependency>
             <dependency>
                 <groupId>com.azure</groupId>
                 <artifactId>azure-core</artifactId>
                 <version>1.53.0</version>
             </dependency>
             <dependency>
                 <groupId>com.azure</groupId>
                 <artifactId>azure-identity</artifactId>
                 <version>1.15.1</version>
             </dependency>
             <dependency>
                 <groupId>org.slf4j</groupId>
                 <artifactId>slf4j-simple</artifactId>
                 <version>1.7.9</version>
             </dependency>
         </dependencies>
     </project>
    
  4. Установите пакет SDK Azure OpenAI и зависимости.

    mvn clean dependency:copy-dependencies
    
  5. Для рекомендуемой безключевой аутентификации с помощью Microsoft Entra ID выполните вход в Azure с помощью следующей команды:

    az login
    

Получение сведений о ресурсе

Чтобы проверить подлинность приложения с помощью ресурса OpenAI Azure, необходимо получить следующие сведения:

Имя переменной Значение
AZURE_OPENAI_ENDPOINT Это значение можно найти в разделе Keys и Endpoint при изучении ресурса на портале Azure.
AZURE_OPENAI_DEPLOYMENT_NAME Это значение будет соответствовать пользовательскому названию, которое вы выбрали при развертывании модели. Это значение можно найти в разделе Resource Management>Model Deployments на портале Azure.

Дополнительные сведения о бессерверной проверке подлинности и настройке переменных среды.

Запуск приложения

Пример кода в этом кратком руководстве использует Microsoft Entra ID для рекомендуемой аутентификации без использования ключей. Если вы предпочитаете использовать ключ API, можно заменить DefaultAzureCredential объект AzureKeyCredential объектом.

OpenAIAsyncClient client = new OpenAIClientBuilder()
    .endpoint(endpoint)
    .credential(new DefaultAzureCredentialBuilder().build())
    .buildAsyncClient();

Выполните следующие действия, чтобы создать консольное приложение для создания образов.

  1. Создайте файл с именем Quickstart.java в том же корневом каталоге проекта.

  2. Скопируйте следующий код в Quickstart.java:

    import com.azure.ai.openai.OpenAIAsyncClient;
    import com.azure.ai.openai.OpenAIClientBuilder;
    import com.azure.ai.openai.models.ImageGenerationOptions;
    import com.azure.ai.openai.models.ImageLocation;
    import com.azure.core.credential.AzureKeyCredential;
    import com.azure.core.models.ResponseError;
    
    import java.util.concurrent.TimeUnit;
    
    public class Quickstart {
    
        public static void main(String[] args) throws InterruptedException {
    
            String endpoint = System.getenv("AZURE_OPENAI_ENDPOINT");
    
            // Use the recommended keyless credential instead of the AzureKeyCredential credential.
    
            OpenAIAsyncClient client = new OpenAIClientBuilder()
                .endpoint(endpoint)
                .credential(new DefaultAzureCredentialBuilder().build())
                .buildAsyncClient();
    
            ImageGenerationOptions imageGenerationOptions = new ImageGenerationOptions(
                "A drawing of the Seattle skyline in the style of Van Gogh");
            client.getImages(imageGenerationOptions).subscribe(
                images -> {
                    for (ImageLocation imageLocation : images.getData()) {
                        ResponseError error = imageLocation.getError();
                        if (error != null) {
                            System.out.printf("Image generation operation failed. Error code: %s, error message: %s.%n",
                                error.getCode(), error.getMessage());
                        } else {
                            System.out.printf(
                                "Image location URL that provides temporary access to download the generated image is %s.%n",
                                imageLocation.getUrl());
                        }
                    }
                },
                error -> System.err.println("There was an error getting images." + error),
                () -> System.out.println("Completed getImages."));
    
            // The .subscribe() creation and assignment isn't a blocking call.
            // The thread sleeps so the program does not end before the send operation is complete. 
            // Use .block() instead of .subscribe() for a synchronous call.
            TimeUnit.SECONDS.sleep(10);
        }
    }
    
  3. Запустите новое консольное приложение для создания образа:

    javac Quickstart.java -cp ".;target\dependency\*"
    java -cp ".;target\dependency\*" Quickstart
    

Выход

URL-адрес созданного изображения выводится в консоль.

Image location URL that provides temporary access to download the generated image is <SAS URL>.
Completed getImages.

Важно

GPT-image-1 также поддерживает дополнительные параметры, такие как quality (low, medium, high), output_format (png, jpeg), background (auto, transparent), и output_compression (0–100, только JPEG). Дополнительные сведения см. в разделе "Параметры API".

Примечание

API-интерфейсы изображений содержат фильтр модерации содержимого. Если служба распознает запрос как вредное содержимое, он не вернет созданный образ. Дополнительные сведения см. в статье фильтра содержимого .

Очистка ресурсов

Если вы хотите очистить и удалить ресурс Azure OpenAI, можно удалить его. Перед удалением ресурса необходимо сначала удалить все развернутые модели.

Используйте это руководство, чтобы приступить к созданию образов с помощью пакета SDK OpenAI для JavaScript Azure.

документация Референсная документация | Исходный код | Пакет (npm) | Примеры

Необходимые условия

предварительные требования Microsoft Entra ID

Для рекомендуемой проверки подлинности без ключа с помощью Microsoft Entra ID необходимо:

  • Установите Azure CLI, который используется для безключевой аутентификации в Microsoft Entra ID.
  • Назначьте Cognitive Services User роль вашей учетной записи пользователя. Роли можно назначить на портале Azure в разделе Access control (IAM)>Add role assignment.

Установка

  1. Создайте новую папку image-quickstart и перейдите в папку быстрого запуска с помощью следующей команды:

    mkdir image-quickstart && cd image-quickstart
    
  2. Создайте package.json с помощью следующей команды:

    npm init -y
    
  3. Установите клиентскую библиотеку OpenAI для JavaScript с помощью:

    npm install openai
    
  4. Для рекомендуемой проверки подлинности без пароля:

    npm install @azure/identity
    

Получение сведений о ресурсе

Чтобы проверить подлинность приложения с помощью ресурса OpenAI Azure, необходимо получить следующие сведения:

Имя переменной Значение
AZURE_OPENAI_ENDPOINT Это значение можно найти в разделе Keys и Endpoint при изучении ресурса на портале Azure.
AZURE_OPENAI_DEPLOYMENT_NAME Это значение будет соответствовать пользовательскому названию, которое вы выбрали при развертывании модели. Это значение можно найти в разделе Resource Management>Model Deployments на портале Azure.

Дополнительные сведения о бессерверной проверке подлинности и настройке переменных среды.

Осторожно

Чтобы использовать рекомендуемую проверку подлинности без ключа с пакетом SDK, убедитесь, что AZURE_OPENAI_API_KEY переменная среды не задана.

Создание изображений

  1. index.js Создайте файл со следующим кодом:

    const { AzureOpenAI } = require("openai");
    const { 
        DefaultAzureCredential, 
        getBearerTokenProvider 
    } = require("@azure/identity");
    const fs = require("fs");
    
    // You will need to set these environment variables or edit the following values
    const endpoint = process.env.AZURE_OPENAI_ENDPOINT || "Your endpoint";
    
    // Required Azure OpenAI deployment name and API version
    const apiVersion = process.env.OPENAI_API_VERSION || "2025-04-01-preview";
    const deploymentName = process.env.AZURE_OPENAI_DEPLOYMENT_NAME || "gpt-image-1";
    
    // The prompt to generate images from
    const prompt = "a monkey eating a banana";
    const numberOfImagesToGenerate = 1;
    
    // keyless authentication    
    const credential = new DefaultAzureCredential();
    const scope = "https://ai.azure.com/.default";
    const azureADTokenProvider = getBearerTokenProvider(credential, scope);
    
    function getClient() {
      return new AzureOpenAI({
        endpoint,
        azureADTokenProvider,
        apiVersion,
        deployment: deploymentName,
      });
    }
    async function main() {
      console.log("== Image Generation ==");
    
      const client = getClient();
    
      const results = await client.images.generate({
        prompt,
        size: "1024x1024",
        n: numberOfImagesToGenerate,
        model: "",
        quality: "high",
        // output_format: "png",  // "png" or "jpeg" (GPT-image-1 only)
        // background: "transparent",  // "auto" or "transparent" (GPT-image-1 only, requires PNG)
      });
    
      // GPT-image-1 models always return base64-encoded images
      for (const image of results.data) {
        const imageBuffer = Buffer.from(image.b64_json, "base64");
        fs.writeFileSync("generated_image.png", imageBuffer);
        console.log("Image saved to generated_image.png");
      }
    }
    
    main().catch((err) => {
      console.error("The sample encountered an error:", err);
    });
    
  2. Войдите в Azure с помощью следующей команды:

    az login
    
  3. Запустите файл JavaScript.

    node index.js
    

Выход

Созданный образ сохраняется в generated_image.png в текущем каталоге.

== Image Generation ==
Image saved to generated_image.png

Примечание

API-интерфейсы изображений содержат фильтр модерации содержимого. Если служба распознает запрос как вредное содержимое, он не вернет созданный образ. Дополнительные сведения см. в статье фильтра содержимого .

Очистка ресурсов

Если вы хотите очистить и удалить ресурс Azure OpenAI, можно удалить его. Перед удалением ресурса необходимо сначала удалить все развернутые модели.

Используйте это руководство, чтобы приступить к созданию образов с помощью пакета SDK OpenAI для JavaScript Azure.

документация Референсная документация | Исходный код | Пакет (npm) | Примеры

Необходимые условия

предварительные требования Microsoft Entra ID

Для рекомендуемой проверки подлинности без ключа с помощью Microsoft Entra ID необходимо:

  • Установите Azure CLI, который используется для безключевой аутентификации в Microsoft Entra ID.
  • Назначьте Cognitive Services User роль вашей учетной записи пользователя. Роли можно назначить на портале Azure в разделе Access control (IAM)>Add role assignment.

Установка

  1. Создайте новую папку image-quickstart и перейдите в папку быстрого запуска с помощью следующей команды:

    mkdir image-quickstart && cd image-quickstart
    
  2. Создайте package.json с помощью следующей команды:

    npm init -y
    
  3. Обновите package.json на ECMAScript с помощью следующей команды:

    npm pkg set type=module
    
  4. Установите клиентскую библиотеку OpenAI для JavaScript с помощью:

    npm install openai
    
  5. Для рекомендуемой проверки подлинности без пароля:

    npm install @azure/identity
    

Получение сведений о ресурсе

Чтобы проверить подлинность приложения с помощью ресурса OpenAI Azure, необходимо получить следующие сведения:

Имя переменной Значение
AZURE_OPENAI_ENDPOINT Это значение можно найти в разделе Keys и Endpoint при изучении ресурса на портале Azure.
AZURE_OPENAI_DEPLOYMENT_NAME Это значение будет соответствовать пользовательскому названию, которое вы выбрали при развертывании модели. Это значение можно найти в разделе Resource Management>Model Deployments на портале Azure.

Дополнительные сведения о бессерверной проверке подлинности и настройке переменных среды.

Осторожно

Чтобы использовать рекомендуемую проверку подлинности без ключа с пакетом SDK, убедитесь, что AZURE_OPENAI_API_KEY переменная среды не задана.

Создание изображений

  1. index.ts Создайте файл со следующим кодом:

    import { AzureOpenAI } from "openai";
    import { 
        DefaultAzureCredential, 
        getBearerTokenProvider 
    } from "@azure/identity";
    import * as fs from "fs";
    
    // You will need to set these environment variables or edit the following values
    const endpoint = process.env.AZURE_OPENAI_ENDPOINT || "Your endpoint";
    
    // Required Azure OpenAI deployment name and API version
    const apiVersion = process.env.OPENAI_API_VERSION || "2025-04-01-preview";
    const deploymentName = process.env.AZURE_OPENAI_DEPLOYMENT_NAME || "gpt-image-1";
    
    // keyless authentication    
    const credential = new DefaultAzureCredential();
    const scope = "https://ai.azure.com/.default";
    const azureADTokenProvider = getBearerTokenProvider(credential, scope);
    
    function getClient(): AzureOpenAI {
      return new AzureOpenAI({
        endpoint,
        azureADTokenProvider,
        apiVersion,
        deployment: deploymentName,
      });
    }
    async function main() {
      console.log("== Image Generation ==");
    
      const client = getClient();
    
      const results = await client.images.generate({
        prompt,
        size: "1024x1024",
        n: numberOfImagesToGenerate,
        model: "",
        quality: "high",
        // output_format: "png",  // "png" or "jpeg" (GPT-image-1 only)
        // background: "transparent",  // "auto" or "transparent" (GPT-image-1 only, requires PNG)
      });
    
      // GPT-image-1 models always return base64-encoded images
      for (const image of results.data) {
        const imageBuffer = Buffer.from(image.b64_json!, "base64");
        fs.writeFileSync("generated_image.png", imageBuffer);
        console.log("Image saved to generated_image.png");
      }
    }
    
    main().catch((err) => {
      console.error("The sample encountered an error:", err);
    });
    
  2. tsconfig.json Создайте файл для транспиля кода TypeScript и скопируйте следующий код для ECMAScript.

    {
        "compilerOptions": {
          "module": "NodeNext",
          "target": "ES2022", // Supports top-level await
          "moduleResolution": "NodeNext",
          "skipLibCheck": true, // Avoid type errors from node_modules
          "strict": true // Enable strict type-checking options
        },
        "include": ["*.ts"]
    }
    
  3. Транспилировать из TypeScript в JavaScript.

    tsc
    
  4. Войдите в Azure с помощью следующей команды:

    az login
    
  5. Запустите код с помощью следующей команды:

    node index.js
    

Выход

Созданный образ сохраняется в generated_image.png в текущем каталоге.

== Image Generation ==
Image saved to generated_image.png

Примечание

API-интерфейсы изображений содержат фильтр модерации содержимого. Если служба распознает запрос как вредное содержимое, он не вернет созданный образ. Дополнительные сведения см. в статье фильтра содержимого .

Очистка ресурсов

Если вы хотите очистить и удалить ресурс Azure OpenAI, можно удалить его. Перед удалением ресурса необходимо сначала удалить все развернутые модели.

Используйте это руководство, чтобы приступить к созданию изображений с помощью Azure OpenAI SDK для Go.

Исходный код библиотеки | Пакет | Образцы

Необходимые условия

предварительные требования Microsoft Entra ID

Для рекомендуемой проверки подлинности без ключа с помощью Microsoft Entra ID необходимо:

  • Установите Azure CLI, который используется для безключевой аутентификации в Microsoft Entra ID.
  • Назначьте Cognitive Services User роль вашей учетной записи пользователя. Роли можно назначить на портале Azure в разделе Access control (IAM)>Add role assignment.

Установка

  1. Создайте новую папку dall-e-quickstart и перейдите в папку быстрого запуска с помощью следующей команды:

    mkdir dall-e-quickstart && cd dall-e-quickstart
    
  2. Для рекомендуемой безключевой аутентификации с помощью Microsoft Entra ID выполните вход в Azure с помощью следующей команды:

    az login
    

Получение сведений о ресурсе

Чтобы проверить подлинность приложения с помощью ресурса OpenAI Azure, необходимо получить следующие сведения:

Имя переменной Значение
AZURE_OPENAI_ENDPOINT Это значение можно найти в разделе Keys и Endpoint при изучении ресурса на портале Azure.
AZURE_OPENAI_DEPLOYMENT_NAME Это значение будет соответствовать пользовательскому названию, которое вы выбрали при развертывании модели. Это значение можно найти в разделе Resource Management>Model Deployments на портале Azure.

Дополнительные сведения о бессерверной проверке подлинности и настройке переменных среды.

Запустите быстрый старт

Пример кода в этом кратком руководстве использует Microsoft Entra ID для рекомендуемой аутентификации без использования ключей. Если вы предпочитаете использовать ключ API, можно заменить реализацию NewDefaultAzureCredential на NewKeyCredential.

azureOpenAIEndpoint := os.Getenv("AZURE_OPENAI_ENDPOINT")
credential, err := azidentity.NewDefaultAzureCredential(nil)
client, err := azopenai.NewClient(azureOpenAIEndpoint, credential, nil)

Чтобы запустить пример, выполните следующие действия:

  1. Создайте файл с именем quickstart.go. Скопируйте следующий код в файл quickstart.go .

     package main
    
    import (
    	"context"
    	"fmt"
    	"net/http"
    	"os"
    	"log"
    
    	"github.com/Azure/azure-sdk-for-go/sdk/ai/azopenai"
    	"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
    	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
    )
    
    func main() {
    	azureOpenAIEndpoint := os.Getenv("AZURE_OPENAI_ENDPOINT")
    	modelDeploymentID := "gpt-image-1"
    
    	credential, err := azidentity.NewDefaultAzureCredential(nil)
    	if err != nil {
    		log.Printf("ERROR: %s", err)
    		return
    	}
    
    	client, err := azopenai.NewClient(
    		azureOpenAIEndpoint, credential, nil)
    	if err != nil {
    		log.Printf("ERROR: %s", err)
    		return
    	}
    
    	resp, err := client.GetImageGenerations(context.TODO(), azopenai.ImageGenerationOptions{
    		Prompt:         to.Ptr("A painting of a cat in the style of Dali."),
    		ResponseFormat: to.Ptr(azopenai.ImageGenerationResponseFormatURL),
    		DeploymentName: to.Ptr(modelDeploymentID),
    	}, nil)
    
    	if err != nil {
    		// Implement application specific error handling logic.
    		log.Printf("ERROR: %s", err)
    		return
    	}
    
    	for _, generatedImage := range resp.Data {
    		// The underlying type for the generatedImage is determined by the value of
    		// ImageGenerationOptions.ResponseFormat. 
    		// In this example we use `azopenai.ImageGenerationResponseFormatURL`,
    		// so the underlying type will be ImageLocation.
    
    		resp, err := http.Head(*generatedImage.URL)
    
    		if err != nil {
    			// Implement application specific error handling logic.
    			log.Printf("ERROR: %s", err)
    			return
    		}
    
    		fmt.Fprintf(os.Stderr, "Image generated, HEAD request on URL returned %d\nImage URL: %s\n", resp.StatusCode, *generatedImage.URL)
    	}
    }
    
  2. Выполните следующую команду, чтобы создать новый модуль Go:

     go mod init quickstart.go
    
  3. Запустите go mod tidy , чтобы установить необходимые зависимости:

    go mod tidy
    
  4. Выполните следующую команду, чтобы запустить пример:

     go run quickstart.go
    

Выход

URL-адрес созданного изображения выводится в консоль.

Image generated, HEAD request on URL returned 200
Image URL: <SAS URL>

Важно

Модели GPT-image-1 всегда возвращают данные изображения в кодировке Base64 вместо URL-адресов. Если версия пакета SDK возвращает URL-адрес для моделей DALL-E, необходимо обработать ответ base64 для развертываний GPT-image-1. GPT-image-1 также поддерживает дополнительные параметры, такие как quality (low, medium, high), output_format (png, jpeg), background (auto, transparent), и output_compression (0–100, только JPEG). Дополнительные сведения см. в разделе "Параметры API".

Примечание

API-интерфейсы изображений содержат фильтр модерации содержимого. Если служба распознает запрос как вредное содержимое, он не вернет созданный образ. Дополнительные сведения см. в статье фильтра содержимого .

Очистка ресурсов

Если вы хотите удалить ресурс Azure OpenAI, можно удалить этот ресурс или группу ресурсов. При удалении группы ресурсов также удаляются все другие ресурсы, связанные с ним.

Используйте это руководство, чтобы начать работать с API генерации изображений Azure OpenAI и Microsoft Foundry Models с помощью PowerShell.

Необходимые условия

предварительные требования Microsoft Entra ID

Для рекомендуемой проверки подлинности без ключа с помощью Microsoft Entra ID необходимо:

  • Установите Azure CLI, который используется для безключевой аутентификации в Microsoft Entra ID.
  • Назначьте Cognitive Services User роль вашей учетной записи пользователя. Роли можно назначить на портале Azure в разделе Access control (IAM)>Add role assignment.

Получение сведений о ресурсе

Чтобы проверить подлинность приложения с помощью ресурса OpenAI Azure, необходимо получить следующие сведения:

Имя переменной Значение
AZURE_OPENAI_ENDPOINT Это значение можно найти в разделе Keys и Endpoint при изучении ресурса на портале Azure.
AZURE_OPENAI_DEPLOYMENT_NAME Это значение будет соответствовать пользовательскому названию, которое вы выбрали при развертывании модели. Это значение можно найти в разделе Resource Management>Model Deployments на портале Azure.

Дополнительные сведения о бессерверной проверке подлинности и настройке переменных среды.

Создание изображений

  1. Для рекомендуемой безключевой аутентификации с помощью Microsoft Entra ID выполните вход в Azure с помощью следующей команды:

    az login
    
  2. Получите маркер проверки подлинности OpenAI Azure и задайте его в качестве переменной среды для текущего сеанса PowerShell:

    $Env:DEFAULT_AZURE_CREDENTIAL_TOKEN = az account get-access-token --resource https://cognitiveservices.azure.com --query accessToken -o tsv
    
  3. Создайте новый файл PowerShell с именемquickstart.ps1. Затем откройте его в предпочитаемом редакторе или интегрированной среде разработки.

  4. Замените содержимое quickstart.ps1 следующим кодом. Убедитесь, что AZURE_OPENAI_ENDPOINT настроен, и измените значение prompt на предпочтительный текст.

    Чтобы использовать проверку подлинности ключа API вместо проверки подлинности без ключа, задайте AZURE_OPENAI_API_KEY и уберите комментарий с строки 'api-key'.

     # Azure OpenAI metadata variables
     $openai = @{
         api_base    = $Env:AZURE_OPENAI_ENDPOINT 
         deployment  = 'gpt-image-1' # set to the name of your model deployment
     }
    
     # Use the recommended keyless authentication via bearer token.
     $headers = [ordered]@{
         #'api-key' = $Env:AZURE_OPENAI_API_KEY
         'Authorization' = "Bearer $($Env:DEFAULT_AZURE_CREDENTIAL_TOKEN)"
     }
    
     # Text to describe image
     $prompt = 'A painting of a dog'
    
     # Adjust these values to fine-tune completions
     $body = [ordered]@{
         model  = $openai.deployment  # required: the name of your model deployment
         prompt = $prompt
         size   = '1024x1024'
         n      = 1
         quality = 'high'
         output_format = 'png'
         # background = 'transparent'  # 'auto' or 'transparent' (GPT-image-1 only; requires PNG output)
         # output_compression = 100    # 0-100 compression level (JPEG output only)
     } | ConvertTo-Json
    
     # Call the API to generate the image and retrieve the response
     $url = "$($openai.api_base)/openai/v1/images/generations?api-version=preview"
    
     $response = Invoke-RestMethod -Uri $url -Headers $headers -Body $body -Method Post -ContentType 'application/json'
    
     # Set the directory for the stored image
     $image_dir = Join-Path -Path $pwd -ChildPath 'images'
    
     # If the directory doesn't exist, create it
     if (-not(Resolve-Path $image_dir -ErrorAction Ignore)) {
         New-Item -Path $image_dir -ItemType Directory
     }
    
     # Initialize the image path (note the filetype should be png)
     $image_path = Join-Path -Path $image_dir -ChildPath 'generated_image.png'
    
     # Decode the base64 image and save to file
     $image_bytes = [Convert]::FromBase64String($response.data[0].b64_json)
     [IO.File]::WriteAllBytes($image_path, $image_bytes)
     return $image_path
    

    Важно

    Для рабочей среды используйте безопасный способ хранения и доступа к учетным данным, таким как Управление секретами PowerShell с помощью Azure Key Vault. Дополнительные сведения о безопасности учетных данных см. в этой статье.

  5. Запустите скрипт с помощью PowerShell:

    ./quickstart.ps1
    

    Скрипт создает изображение и сохраняет его.

Выход

PowerShell запрашивает образ из Azure OpenAI и сохраняет выходной образ в файле generated_image.png в указанном каталоге. Для удобства полный путь к файлу возвращается в конце скрипта.

API-интерфейсы изображений содержат фильтр модерации содержимого. Если служба распознает запрос как вредное содержимое, она не создает изображение. Дополнительные сведения см. в разделе "Фильтрация содержимого".

Очистка ресурсов

Если вы хотите удалить ресурс Azure OpenAI, можно удалить этот ресурс или группу ресурсов. При удалении группы ресурсов также удаляются все другие ресурсы, связанные с ним.

Используйте это руководство, чтобы приступить к созданию образов с Azure OpenAI в браузере с помощью Microsoft Foundry.

Необходимые условия

Перейти к Литейный

Перейдите к Foundry и войдите с учетными данными, связанными с ресурсом OpenAI Azure. Во время или после рабочего процесса входа выберите соответствующую директорию, подписку Azure и ресурс Azure OpenAI.

На целевой странице Foundry создайте или выберите новый проект. Перейдите на страницу "Модели + конечные точки" на левой панели навигации. Выберите "Развернуть модель ", а затем выберите одну из моделей создания изображений из списка. Завершите процесс развертывания.

На странице модели выберите "Открыть на детской площадке".

Попробуйте создание образа

Начните изучать возможности Azure OpenAI с использованием подхода без кода с помощью площадки изображений. Введите запрос изображения в текстовое поле и нажмите кнопку "Создать". Когда изображение, созданное СИ, будет готово, оно отображается на странице.

Примечание

API-интерфейсы изображений содержат фильтр модерации содержимого. Если Azure OpenAI распознает запрос как вредное содержимое, он не возвращает созданный образ. Дополнительные сведения см. в разделе "Фильтрация содержимого".

На игровой площадке Images можно также просмотреть примеры кода Python и cURL, которые предварительно заполнены в соответствии с вашими параметрами. Выберите "Просмотреть код " в верхней части страницы. Этот код можно использовать для записи приложения, которое завершает ту же задачу.

Очистка ресурсов

Если вы хотите удалить ресурс Azure OpenAI, можно удалить этот ресурс или группу ресурсов. При удалении группы ресурсов также удаляются все другие ресурсы, связанные с ним.

Квоты и ограничения

Создание изображений имеет лимиты скорости по умолчанию для каждого развертывания.

Модель Стандартная квота (изображения/минуту)
Серия GPT-image-1 5
GPT-image-2 5

Чтобы просмотреть текущую квоту или запросить её увеличение, см. статью Управление квотами Azure OpenAI.

Вызов API создания изображений

В следующей команде показан самый простой способ использования модели изображений с кодом. Если вы впервые используете эти модели программным способом, начните с краткого руководства.

Совет

Создание изображений обычно занимает 10–30 секунд в зависимости от модели, размера и параметров качества.

Необходимые условия

Отправьте запрос POST в:

https://<your_resource_name>.openai.azure.com/openai/v1/images/generations?api-version=preview

URL-адрес:

Замените <your_resource_name> именем ресурса OpenAI Azure.

Обязательные заголовки:

  • Content-Type: application/json
  • api-key: <your_API_key>

Тело:

Ниже приведен пример текста запроса. Вы указываете ряд параметров, определенных в последующих разделах.

Примечание

model Задайте для параметра имя развертывания модели (например, gpt-image-1.5).

{
    "prompt": "A multi-colored umbrella on the beach, disposable camera",
    "model": "gpt-image-1.5",
    "size": "1024x1024", 
    "n": 1,
    "quality": "high"
}

Совет

Сведения о затратах на создание изображений см. в разделе "Токены изображения".

Выход

Ответ от успешного вызова API создания изображений выглядит следующим образом. Поле b64_json содержит выходные данные изображения.

{ 
    "created": 1698116662, 
    "data": [ 
        { 
            "b64_json": "<base64 image data>"
        }
    ]
} 

Примечание

Параметр response_format не поддерживается для моделей серии GPT-image-1, которые всегда возвращают образы в кодировке Base64.

Стриминг

Стриминг позволяет получать частичные изображения по мере их создания, обеспечивая более быструю визуальную обратную связь для пользователей. Это полезно для приложений, где требуется показать ход создания. Параметр partial_images (1–3) определяет, сколько промежуточных образов возвращаются до окончательного результата.

Вы можете передавать запросы на создание изображений в gpt-image-1-серии и gpt-image-2 модели, задав параметр stream как true, и задав параметр partial_images значением от 0 до 3.

import base64
from openai import OpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider

token_provider = get_bearer_token_provider(
    DefaultAzureCredential(), "https://ai.azure.com/.default"
)

client = OpenAI(  
  base_url = "https://RESOURCE-NAME-HERE/openai/v1/",  
  api_key=token_provider,
)

stream = client.images.generate(
    model="gpt-image-1.5",
    prompt="A cute baby sea otter",
    n=1,
    size="1024x1024",
    stream=True,
    partial_images = 2
)

for event in stream:
    if event.type == "image_generation.partial_image":
        idx = event.partial_image_index
        image_base64 = event.b64_json
        image_bytes = base64.b64decode(image_base64)
        with open(f"river{idx}.png", "wb") as f:
            f.write(image_bytes)
 

Указание параметров API

Для моделей создания изображений доступны следующие параметры текста API.

Размер

Для моделей серии GPT-image-1 укажите размер создаваемых изображений как один из 1024x1024, 1024x1536, или 1536x1024. Квадратные изображения быстрее создаются.

Для gpt-image-2произвольных разрешений поддерживаются следующие ограничения:

  • Оба края должны быть кратными 16 пикселям.
  • Длинный край до 3840 пикселей (поддержка 4K).
  • Соотношение сторон до 3:1.
  • Общее число пикселей от 655 360 до 8 294 400.

Качество

Существует три варианта качества изображения: low, mediumи high. Более низкое качество изображений можно создавать быстрее.

Значение по умолчанию — high.

Номер

Вы можете создавать между одним и 10 изображениями в одном вызове API. Значение по умолчанию — 1.

Идентификатор пользователя

Используйте параметр пользователя , чтобы указать уникальный идентификатор для пользователя, выполняющего запрос. Этот идентификатор полезен для отслеживания и мониторинга шаблонов использования. Значение может быть любой строкой, например идентификатором пользователя или адресом электронной почты.

Формат выходных данных

Используйте параметр output_format , чтобы указать формат созданного изображения. Поддерживаемые форматы: PNG и JPEG. Значение по умолчанию — PNG.

Примечание

WEBP изображения не поддерживаются в моделях Microsoft Foundry на платформе Azure OpenAI.

Сжатия

Используйте параметр output_compression , чтобы указать уровень сжатия для созданного образа. Введите целое число между 0 и 100, где 0 - без сжатия, а 100 - максимальное сжатие. Значение по умолчанию — 100.

Стриминг

Используйте параметр stream для включения потоковых ответов. Если задано значение true, API возвращает частичные образы по мере их создания. Эта функция обеспечивает более быструю визуальную обратную связь для пользователей и улучшает воспринимаемую задержку. Задайте параметр partial_images для управления количеством частичных образов (1–3).

Прозрачность

Установите параметр background на transparent, а output_format на PNG, чтобы при запросе генерации изображения получить его с прозрачным фоном.

Вызов API редактирования изображения

API редактирования изображений позволяет изменять существующие изображения на основе предоставленных текстовых запросов. Вызов API аналогичен вызову API создания изображений, но также необходимо предоставить входной образ.

Важно

Входное изображение должно быть меньше 50 МБ в размере и должно быть PNG-файлом или JPG.

Отправьте запрос POST в:

https://<your_resource_name>.openai.azure.com/openai/deployments/<your_deployment_name>/images/edits?api-version=<api_version>

URL-адрес:

Замените следующие значения:

  • <your_resource_name> — это имя ресурса Azure OpenAI.
  • <your_deployment_name> — это имя развертывания модели серии изображений GPT.
  • <api_version> — это версия API, которую вы хотите использовать. Например, 2025-04-01-preview.

Обязательные заголовки:

  • Content-Type: multipart/form-data
  • api-key: <your_API_key>

Тело:

Ниже приведен пример текста запроса. Вы указываете ряд параметров, определенных в последующих разделах.

Важно

API редактирования изображений принимает данные с несколькими частями и формами, а не данные JSON. В приведенном ниже примере показаны примеры данных формы, которые будут присоединены к запросу cURL.

-F "image[]=@beach.png" \
-F 'prompt=Add a beach ball in the center' \
-F "model=gpt-image-1" \
-F "size=1024x1024" \
-F "n=1" \
-F "quality=high"

Выходные данные ответа API

Ответ от успешного вызова API редактирования изображений выглядит следующим образом. Поле b64_json содержит выходные данные изображения.

{ 
    "created": 1698116662, 
    "data": [ 
        { 
            "b64_json": "<base64 image data>"
        }
    ]
} 

Указание параметров API редактирования изображения

Следующие параметры текста API доступны для моделей редактирования изображений, а также для моделей создания изображений.

Изображение

Значение изображения указывает файл изображения, который требуется изменить.

Точность ввода

Параметр input_fidelity регулирует, насколько усердно модель старается соответствовать стилю и особенностям входных изображений, особенно лицевым чертам.

Этот параметр позволяет вносить тонкие изменения в изображение, не изменяя несвязанные области. При использовании высокой точности ввода лица сохраняются более точно, чем в стандартном режиме.

Важно

Точность входных данных не поддерживается моделью gpt-image-1-mini .

Маска

Параметр маски использует тот же тип, что и основной входной параметр изображения . Определяется область изображения, которую должна изменить модель, используя полностью прозрачные пиксели (альфа равна нулю) в этих областях. Маска должна быть PNG-файлом и иметь те же размеры, что и входное изображение.

Стриминг

Используйте параметр stream для включения потоковых ответов. Если задано значение true, API возвращает частичные образы по мере их создания. Эта функция обеспечивает более быструю визуальную обратную связь для пользователей и улучшает воспринимаемую задержку. Задайте параметр partial_images для управления количеством частичных образов (1–3).

Прозрачность

Только для GPT-image-1: задайте параметр background как transparent, а output_format как PNG в запросе генерации изображения, чтобы получить изображение с прозрачным фоном.

Написание эффективных запросов текст-к-изображению

Запросы должны описать содержимое, которое вы хотите увидеть в изображении и визуальном стиле изображения.

При написании запросов следует учитывать, что API изображений имеют фильтр модерации содержимого. Если служба распознает запрос как вредное содержимое, она не создает изображение. Дополнительные сведения см. в разделе "Фильтрация содержимого".

Совет

Подробные сведения о том, как можно настроить текстовые запросы на создание различных типов изображений, см. в руководстве по проектированию запросов изображений.

Ответственный ИИ и создание изображений

В моделях генерации изображений Azure OpenAI предусмотрены встроенные средства защиты ответственного использования искусственного интеллекта (RAI), чтобы обеспечить их безопасное и соответствующее применение.

Кроме того, Azure обеспечивает модерацию входных и выходных данных во всех моделях создания изображений, а также меры защиты Azure, такие как фильтрация содержимого и мониторинг злоупотреблений. Эти системы помогают обнаруживать и предотвращать создание или неправильное использование вредного, небезопасного или нарушающего политику содержимого.

Клиенты могут узнать больше об этих мерах защиты и о том, как настроить их здесь:

Особые рекомендации по созданию изображений несовершеннолетних

Фотореалистические изображения несовершеннолетних блокируются по умолчанию. Клиенты могут запросить доступ к этой возможности модели. Клиенты корпоративного уровня автоматически утверждены.

Устранение неполадок

Отклонение вызова API

Запросы и изображения фильтруются на основе нашей политики содержимого. API возвращает ошибку, если запрос или изображение помечены.

Если ваш запрос помечен, значение error.code в сообщении установлено на contentFilter. Ниже приведен пример:

{
    "created": 1698435368,
    "error":
    {
        "code": "contentFilter",
        "message": "Your task failed as a result of our safety system."
    }
}

Кроме того, возможно, что созданный образ фильтруется. В этом случае сообщение об ошибке установлено на Созданное изображение было отфильтровано в результате работы нашей системы безопасности. Ниже приведен пример:

{
    "created": 1698435368,
    "error":
    {
        "code": "contentFilter",
        "message": "Generated image was filtered as a result of our safety system."
    }
}

Ошибки ограничения скорости

Если вы получили ошибку 429, превышено ограничение скорости. Подождите, прежде чем повторить попытку или запросить увеличение квоты на портале Azure.

Ошибки проверки подлинности

Если вы получите ошибку 401:

  • Проверка подлинности ключа API. Убедитесь, что ключ API правильно и не истек.
  • Управляемое удостоверение: Убедитесь, что удостоверение имеет роль пользователя Cognitive Services OpenAI на ресурсе.

Ошибки времени ожидания

Создание изображений может занять до 60 секунд для сложных запросов. Если вы сталкиваетесь с тайм-аутами:

  • Используйте потоковую передачу, чтобы получить частичные результаты раньше.
  • Упростите запрос.
  • Попробуйте уменьшить размер изображения.