你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
本文介绍 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-keyHTTP 头部包含 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) | 路径 | 是的 | 字符串 | 已部署的 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 | 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模型。