你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure OpenAI 映像和音频 REST API 参考 (2024-10-21)

本文介绍 GA 版本中Azure OpenAI 2024-10-21 的图像生成和音频(语音)数据平面推理 REST API 操作。 有关聊天完成、嵌入、完成和其他所有操作,请参阅官方Azure OpenAI REST API 参考

API 规范

管理和交互 Azure OpenAI 模型及资源分为三个主要的 API 表面:

  • 控制平面
  • 数据平面 - 创作
  • 数据平面 - 推理

每个API表面/规范都封装了一套不同的Azure OpenAI能力。 每个 API 都有其独特的预览版和稳定/普遍可用(GA)API 版本。 预览版目前通常按月发布。

Important

现在有一个新的预览推理API。 在我们的 API生命周期指南中了解更多。

API 最新预览发布 最新GA发布 Specifications Description
控制平面 2025-07-01-preview 2025-06-01 规格文件 控制平面 API 用于 创建资源模型部署及其他高级资源管理任务等操作。 控制平面还管理了像 Azure 资源管理器、Bicep、Terraform 和 Azure CLI 等功能所能做的事情。
数据平面 v1 preview v1 规格文件 数据平面 API 控制推理和创作操作。

身份验证

Azure OpenAI 提供两种认证方法。 你可以使用API密钥或Microsoft Entra ID。

  • API 密钥认证:对于这种类型的认证,所有 API 请求必须在 api-key HTTP 头部包含 API 密钥。 快速入门指南提供了如何使用此类认证拨打电话的指导。

  • Microsoft Entra ID 认证:你可以用Microsoft Entra令牌来认证API调用。 认证令牌作为请求的头部包含在请求 Authorization 中。 所提供的标记必须前加 Bearer,例如 Bearer YOUR_AUTH_TOKEN。 你可以阅读我们关于认证的Microsoft Entra ID操作指南。

REST API 版本管理

服务API通过 api-version 查询参数进行版本控制。 所有版本均遵循YYYY-MM-DD 日期结构。 例如:

POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/chat/completions?api-version=2024-06-01

数据平面推断

本文的其余部分介绍了 Azure OpenAI 数据平面推理规范2024-10-21正式版中的映像和音频操作。

有关预览图像和音频操作,请参阅 预览图像和音频 REST API 参考

转录 - 创建

POST https://{endpoint}/openai/deployments/{deployment-id}/audio/transcriptions?api-version=2024-10-21

将音频转录成输入语言。

URI 参数

名称 In 必需 类型 Description
终结点 路径 是的 字符串
url
支持Azure OpenAI 端点(协议和主机名,例如:https://aoairesource.openai.azure.com。将“aoairesource”替换为你的Azure OpenAI资源名称)。 https://{your-resource-name}.openai.azure.com
部署标识符 (deployment-id) 路径 是的 字符串 语音转文本模型的部署ID。

有关支持模型的信息,请参见 [/azure/ai-foundry/openai/concepts/models#audio-models]。
api-version 查询 是的 字符串 API 版本

请求标头

名称 必需 类型 Description
API密钥 字符串 在此处提供 Azure OpenAI API 密钥

请求主体

Content-Type:multipart/form-data

名称 类型 Description 必需 Default
文件 字符串 音频文件对象要转录。 是的
提示 字符串 可选文本,用于指导模型风格或延续之前的音频片段。 提示应与音频语言相匹配。
响应格式 audioResponseFormat 定义输出格式。
温度 number 采样温度在0到1之间。 像0.8这样的高值会让输出更随机,而像0.2这样的低值则会让输出更聚焦和确定性强。 如果设置为0,模型会利用对数概率自动升高温度,直到达到某些阈值。 0
语言 字符串 输入音频的语言。 以 ISO-639-1 格式提供输入语言将提升准确性和延迟。

Responses

状态代码: 200

说明:确定

内容类型 类型 说明
application/json audioResponseaudioVerboseResponse
text/plain 字符串 以输出格式转录文本(当response_format为文本、vtt或srt时)。

示例

示例

从提供的语音音频数据中获取转录文本及相关元数据。

POST https://{endpoint}/openai/deployments/{deployment-id}/audio/transcriptions?api-version=2024-10-21

回复:状态代码:200

{
  "body": {
    "text": "A structured object when requesting json or verbose_json"
  }
}

示例

从提供的语音音频数据中获取转录文本及相关元数据。

POST https://{endpoint}/openai/deployments/{deployment-id}/audio/transcriptions?api-version=2024-10-21

"---multipart-boundary\nContent-Disposition: form-data; name=\"file\"; filename=\"file.wav\"\nContent-Type: application/octet-stream\n\nRIFF..audio.data.omitted\n---multipart-boundary--"

回复:状态代码:200

{
  "type": "string",
  "example": "plain text when requesting text, srt, or vtt"
}

翻译 - 创作

POST https://{endpoint}/openai/deployments/{deployment-id}/audio/translations?api-version=2024-10-21

将输入音频转录并翻译成英文文本。

URI 参数

名称 In 必需 类型 Description
终结点 路径 是的 字符串
url
支持Azure OpenAI 端点(协议和主机名,例如:https://aoairesource.openai.azure.com。将“aoairesource”替换为你的Azure OpenAI资源名称)。 https://{your-resource-name}.openai.azure.com
部署标识符 (deployment-id) 路径 是的 字符串 已部署的 whisper 型号的部署ID。

有关支持模型的信息,请参见 [/azure/ai-foundry/openai/concepts/models#audio-models]。
api-version 查询 是的 字符串 API 版本

请求标头

名称 必需 类型 Description
API密钥 字符串 在此处提供 Azure OpenAI API 密钥

请求主体

Content-Type:multipart/form-data

名称 类型 Description 必需 Default
文件 字符串 音频文件需要翻译。 是的
提示 字符串 可选文本,用于指导模型风格或延续之前的音频片段。 提示应为英文。
响应格式 audioResponseFormat 定义输出格式。
温度 number 采样温度在0到1之间。 像0.8这样的高值会让输出更随机,而像0.2这样的低值则会让输出更聚焦和确定性强。 如果设置为0,模型会利用对数概率自动升高温度,直到达到某些阈值。 0

Responses

状态代码: 200

说明:确定

内容类型 类型 说明
application/json audioResponseaudioVerboseResponse
text/plain 字符串 以输出格式转录文本(当response_format为文本、vtt或srt时)。

示例

示例

从提供的语音音频数据中获取英文转录文本及相关元数据。

POST https://{endpoint}/openai/deployments/{deployment-id}/audio/translations?api-version=2024-10-21

"---multipart-boundary\nContent-Disposition: form-data; name=\"file\"; filename=\"file.wav\"\nContent-Type: application/octet-stream\n\nRIFF..audio.data.omitted\n---multipart-boundary--"

回复:状态代码:200

{
  "body": {
    "text": "A structured object when requesting json or verbose_json"
  }
}

示例

从提供的语音音频数据中获取英文转录文本及相关元数据。

POST https://{endpoint}/openai/deployments/{deployment-id}/audio/translations?api-version=2024-10-21

"---multipart-boundary\nContent-Disposition: form-data; name=\"file\"; filename=\"file.wav\"\nContent-Type: application/octet-stream\n\nRIFF..audio.data.omitted\n---multipart-boundary--"

回复:状态代码:200

{
  "type": "string",
  "example": "plain text when requesting text, srt, or vtt"
}

图像生成

POST https://{endpoint}/openai/deployments/{deployment-id}/images/generations?api-version=2024-10-21

在给定的 dall-e 模型部署中,从文本说明生成一批图像

URI 参数

名称 In 必需 类型 Description
终结点 路径 是的 字符串
url
支持Azure OpenAI 端点(协议和主机名,例如:https://aoairesource.openai.azure.com。将“aoairesource”替换为你的Azure OpenAI资源名称)。 https://{your-resource-name}.openai.azure.com
部署标识符 (deployment-id) 路径 是的 字符串 已部署的dall-e型号的部署ID。
api-version 查询 是的 字符串 API 版本

请求标头

名称 必需 类型 Description
API密钥 字符串 在此处提供 Azure OpenAI API 密钥

请求主体

“内容类型”: application/json

名称 类型 Description 必需 Default
提示 字符串 对所需图片的文字描述。 最大长度为4000字符。 是的
n 整数 需要生成的图片数量。 1
大小 imageSize 生成图像的大小。 1024x1024
响应格式 imagesResponseFormat 生成图像返回的格式。 url
用户 字符串 一个代表终端用户的唯一标识符,有助于监控和检测滥用行为。
quality imageQuality 生成图像的质量。 标准
样式 imageStyle 生成图像的风格。 vivid

Responses

状态代码: 200

说明:好的

内容类型 类型 说明
application/json generateImagesResponse

状态代码: 默认

描述:发生了错误。

内容类型 类型 说明
application/json dalleErrorResponse

示例

示例

根据提示生成图片。

POST https://{endpoint}/openai/deployments/{deployment-id}/images/generations?api-version=2024-10-21

{
 "prompt": "In the style of WordArt, Microsoft Clippy wearing a cowboy hat.",
 "n": 1,
 "style": "natural",
 "quality": "standard"
}

回复:状态代码:200

{
  "body": {
    "created": 1698342300,
    "data": [
      {
        "revised_prompt": "A vivid, natural representation of Microsoft Clippy wearing a cowboy hat.",
        "prompt_filter_results": {
          "sexual": {
            "severity": "safe",
            "filtered": false
          },
          "violence": {
            "severity": "safe",
            "filtered": false
          },
          "hate": {
            "severity": "safe",
            "filtered": false
          },
          "self_harm": {
            "severity": "safe",
            "filtered": false
          },
          "profanity": {
            "detected": false,
            "filtered": false
          }
        },
        "url": "https://dalletipusw2.blob.core.windows.net/private/images/e5451cc6-b1ad-4747-bd46-b89a3a3b8bc3/generated_00.png?se=2023-10-27T17%3A45%3A09Z&...",
        "content_filter_results": {
          "sexual": {
            "severity": "safe",
            "filtered": false
          },
          "violence": {
            "severity": "safe",
            "filtered": false
          },
          "hate": {
            "severity": "safe",
            "filtered": false
          },
          "self_harm": {
            "severity": "safe",
            "filtered": false
          }
        }
      }
    ]
  }
}

组件

有关聊天、完成、嵌入和其他文本操作使用的架构定义,请参阅 Azure OpenAI REST API 参考。 以下架构支持此页上的图像和音频操作。

innerErrorCode

内部错误对象的错误代码。

描述:内部错误对象的错误代码。

类型:string

默认值

枚举名称:InnerErrorCode

枚举值

价值 Description
ResponsibleAIPolicyViolation 该提示违反了其中一条内容过滤规则。

dalleErrorResponse

名称 类型 Description 必需 Default
错误 dalleError

dalleError

名称 类型 Description 必需 Default
param 字符串
类型 字符串
内部错误 dalleInnerError 内部错误,附加细节。

dalleInnerError

内部错误,附加细节。

名称 类型 Description 必需 Default
代码 innerErrorCode 内部错误对象的错误代码。
content_filter_results dalleFilterResults 关于内容过滤类别(仇恨、性、暴力、self_harm)、是否检测到,以及严重程度(very_low、低、中、高,决定有害内容的强度和风险等级),以及是否被过滤。 关于越狱内容和脏话的信息,是否被检测到,以及是否经过过滤。 还有客户黑名单的信息(如果被过滤过的话)和它的ID。
修订后的提示 字符串 如果提示词有任何修改,那就是用来生成图片的提示词。

contentFilterSeverityResult

名称 类型 Description 必需 Default
filtered 布尔 是的
severity 字符串

内容过滤检测结果

名称 类型 Description 必需 Default
filtered 布尔 是的
detected 布尔

dalleFilterResults

关于内容过滤类别(仇恨、性、暴力、self_harm)、是否检测到,以及严重程度(very_low、低、中、高,决定有害内容的强度和风险等级),以及是否被过滤。 关于越狱内容和脏话的信息,是否被检测到,以及是否经过过滤。 还有客户黑名单的信息(如果被过滤过的话)和它的ID。

名称 类型 Description 必需 Default
sexual 内容过滤严重性结果
violence 内容过滤严重性结果
hate 内容过滤严重性结果
self_harm 内容过滤严重性结果
profanity 内容过滤检测结果
jailbreak 内容过滤检测结果

audioResponse

当response_format为json时,翻译或转录响应

名称 类型 Description 必需 Default
文本消息 字符串 翻译或转录文本。 是的

audioVerboseResponse

response_format verbose_json翻译或转录反应

名称 类型 Description 必需 Default
文本消息 字符串 翻译或转录文本。 是的
任务 字符串 音频任务类型。
语言 字符串 Language.
duration number 时间。
segments 数组

audioResponseFormat

定义输出格式。

描述:定义输出格式。

类型:string

默认值

枚举值

  • Json
  • 文本消息
  • srt
  • verbose_json
  • vtt

imageQuality

生成图像的质量。

描述:将生成的图像质量。

类型:string

默认值:标准

枚举名称:质量

枚举值

价值 Description
标准 标准质量生成标准质量的图像。
hd 高清质量能创造出细节更细腻、图像一致性更高的图像。

imagesResponseFormat

生成图像返回的格式。

描述:生成图像返回的格式。

类型:string

默认值:url

枚举名称:ImagesResponseFormat

枚举值

价值 Description
url 提供临时访问以下载生成图片的URL。
b64_json 生成的图像以base64编码字符串的形式返回。

imageSize

生成图像的大小。

描述:生成图像的大小。

类型:string

默认值:1024x1024

枚库名称:大小

枚举值

价值 Description
1792x1024 生成图像的期望尺寸为1792x1024像素。
1024x1792 生成图像的期望尺寸为1024x1792像素。
1024x1024 生成图像的期望尺寸为1024x1024像素。

imageStyle

生成图像的风格。

描述:生成图像的风格。

类型:string

默认值:生动

枚举名称:样式

枚举值

价值 Description
vivid Vivid 创造出极其真实且戏剧化的图像。
natural 自然则创造出更自然、不那么过于写实的图像。

generateImagesResponse

名称 类型 Description 必需 Default
已创建 整数 操作创建时的Unix时间戳。 是的
数据 数组 如果操作成功,则为该操作的结果数据 是的

后续步骤

了解 使用 REST API 进行模型和微调。 详细了解支持 OpenAI 的Azure模型