你当前正在访问 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 audioResponse 或 audioVerboseResponse
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) 路径 是的 字符串 已部署的听录模型的部署 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 audioResponse 或 audioVerboseResponse
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模型。