OpenAI 이미지 및 오디오 REST API 참조 Azure(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 Resource Manager, Bicep, Terraform, Azure CLI 같은 기능을 수행할 수 있는 것을 관리합니다.
데이터 평면 v1 preview v1 사양 파일 데이터 플레인 API는 추론 및 저작 작업을 제어합니다.

Authentication

Azure OpenAI는 두 가지 인증 방법을 제공합니다. API 키나 Microsoft Entra ID 중 하나를 사용할 수 있습니다.

  • API 키 인증: 이 유형의 인증에서는 모든 API 요청이 HTTP 헤더에 api-key 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의 GA 릴리스에서 이미지 및 오디오 작업이 설명되어 있습니다.

미리 보기 이미지 및 오디오 작업은 미리 보기 이미지 및 오디오 REST API 참조를 참조하세요.

전사 - 만들기

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

오디오를 입력 언어로 전사합니다.

URI 매개 변수

Name In 필수 Type Description
endpoint 경로 string
Url
OpenAI 엔드포인트Azure 지원(프로토콜 및 호스트명, 예: https://aoairesource.openai.azure.com. "aoairesource"를 Azure OpenAI 리소스 이름으로 대체하세요. https://{your-resource-name}.openai.azure.com
배포 ID 경로 string 음성 변환 모델의 배포 ID.

지원되는 모델에 대한 정보는 [/azure/ai-foundry/openai/concepts/models#audio-models]를 참조하세요.
API 버전 query string API 버전

요청 헤더

Name 필수 Type Description
API 키 True string 여기에서 Azure OpenAI API 키 제공

요청 본문

콘텐츠 형식: multipart/form-data

Name Type Description 필수 기본값
파일 string 전사할 오디오 파일 객체.
프롬프트 string 모델의 스타일을 안내하거나 이전 오디오 세그먼트를 이어가는 선택적 텍스트. 프롬프트는 오디오 언어와 일치해야 합니다. No
응답_형식 audioResponseFormat 출력 형식을 정의합니다. No
온도 number 샘플링 온도는 0에서 1 사이입니다. 0.8처럼 높은 값은 출력이 더 무작위적이고, 0.2처럼 낮은 값은 더 집중되고 결정론적으로 만듭니다. 0으로 설정하면 모델은 로그 확률을 사용해 특정 임계값에 도달할 때까지 자동으로 온도를 올립니다. No 0
language string 입력 오디오의 언어. 입력 언어를 ISO-639-1 형식으로 제공하면 정확도와 지연 시간이 향상됩니다. No

응답

상태 코드: 200

설명: 확인

콘텐츠-타입 Type 설명
application/json audioResponse 또는 audioVerboseResponse
text/plain string 텍스트 형식(텍스트, vtt 또는 srt 중 하나일 때)response_format 전사한 텍스트.

예제

Example

제공된 음성 데이터로부터 텍스트와 관련 메타데이터를 받아냅니다.

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"
  }
}

Example

제공된 음성 데이터로부터 텍스트와 관련 메타데이터를 받아냅니다.

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 매개 변수

Name In 필수 Type Description
endpoint 경로 string
Url
OpenAI 엔드포인트Azure 지원(프로토콜 및 호스트명, 예: https://aoairesource.openai.azure.com. "aoairesource"를 Azure OpenAI 리소스 이름으로 대체하세요. https://{your-resource-name}.openai.azure.com
배포 ID 경로 string 배포된 위스퍼 모델의 배포 ID.

지원되는 모델에 대한 정보는 [/azure/ai-foundry/openai/concepts/models#audio-models]를 참조하세요.
API 버전 query string API 버전

요청 헤더

Name 필수 Type Description
API 키 True string 여기에서 Azure OpenAI API 키 제공

요청 본문

콘텐츠 형식: multipart/form-data

Name Type Description 필수 기본값
파일 string 번역할 오디오 파일.
프롬프트 string 모델의 스타일을 안내하거나 이전 오디오 세그먼트를 이어가는 선택적 텍스트. 프롬프트는 영어로 작성되어야 합니다. No
응답_형식 audioResponseFormat 출력 형식을 정의합니다. No
온도 number 샘플링 온도는 0에서 1 사이입니다. 0.8처럼 높은 값은 출력이 더 무작위적이고, 0.2처럼 낮은 값은 더 집중되고 결정론적으로 만듭니다. 0으로 설정하면 모델은 로그 확률을 사용해 특정 임계값에 도달할 때까지 자동으로 온도를 올립니다. No 0

응답

상태 코드: 200

설명: 확인

콘텐츠-타입 Type 설명
application/json audioResponse 또는 audioVerboseResponse
text/plain string 텍스트 형식(텍스트, vtt 또는 srt 중 하나일 때)response_format 전사한 텍스트.

예제

Example

제공된 음성 데이터로부터 영어 전사된 텍스트와 관련 메타데이터를 제공합니다.

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"
  }
}

Example

제공된 음성 데이터로부터 영어 전사된 텍스트와 관련 메타데이터를 제공합니다.

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 매개 변수

Name In 필수 Type Description
endpoint 경로 string
Url
OpenAI 엔드포인트Azure 지원(프로토콜 및 호스트명, 예: https://aoairesource.openai.azure.com. "aoairesource"를 Azure OpenAI 리소스 이름으로 대체하세요. https://{your-resource-name}.openai.azure.com
배포 ID 경로 string 배치된 dall-e 모델의 배치 ID.
API 버전 query string API 버전

요청 헤더

Name 필수 Type Description
API 키 True string 여기에서 Azure OpenAI API 키 제공

요청 본문

Content-Type: application/json

Name Type Description 필수 기본값
프롬프트 string 원하는 이미지에 대한 텍스트 설명. 최대 길이는 4,000자입니다.
n 정수 (integer) 생성해야 할 이미지 수. No 1
size imageSize 생성된 이미지의 크기. No 1024x1024
응답_형식 imagesResponseFormat 생성된 이미지가 반환되는 형식입니다. No Url
user string 최종 사용자를 대표하는 고유 식별자로, 남용을 모니터링하고 탐지하는 데 도움이 됩니다. No
imageQuality 생성될 이미지의 품질입니다. No 표준
스타일 imageStyle 생성된 이미지의 스타일. No vivid

응답

상태 코드: 200

설명: 확인

콘텐츠-타입 Type 설명
application/json generateImagesResponse

상태 코드: 기본 상태

설명: 오류가 발생했습니다.

콘텐츠-타입 Type 설명
application/json dalleErrorResponse

예제

Example

프롬프트가 주어진 이미지를 생성합니다.

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
          }
        }
      }
    ]
  }
}

Components

채팅, 완료, 포함 및 기타 텍스트 작업에서 사용되는 스키마 정의는 Azure OpenAI REST API 참조를 참조하세요. 다음 스키마는 이 페이지에서 이미지 및 오디오 작업을 지원합니다.

내부 오류 코드

내부 오류 객체에 대한 오류 코드.

설명: 내부 오류 객체의 오류 코드.

형식: 문자열

기본값:

열거 이름: InnerErrorCode

열거형 값:

Value Description
ResponsibleAIPolicyViolation 이 프롬프트는 또 다른 콘텐츠 필터 규칙 중 하나를 위반했습니다.

dalleErrorResponse

Name Type Description 필수 기본값
오류 dalleError No

dalleError

Name Type Description 필수 기본값
param string No
type string No
inner_error dalleInnerError 내부 오류가 추가된 세부사항입니다. No

dalleInnerError

내부 오류가 추가된 세부사항입니다.

Name Type Description 필수 기본값
코드 innerErrorCode 내부 오류 객체에 대한 오류 코드. No
content_filter_results dalleFilterResults 콘텐츠 필터링 카테고리(증오, 성적, 폭력, self_harm), 감지 여부, 심각도 수준(very_low, 낮음, 중간, 고수준, 해로운 콘텐츠의 강도와 위험 수준을 결정함), 필터링 여부에 관한 정보입니다. 탈옥 내용과 욕설에 관한 정보, 감지되었는지, 필터링되었는지 여부. 그리고 고객 차단 목록이 필터링되었는지 여부와 그 ID에 관한 정보도 알려줍니다. No
수정된_프롬프트 string 이미지를 생성하는 데 사용된 프롬프트, 혹은 프롬프트에 수정된 부분이 있다면 말이죠. No

contentFilterSeverityResult

Name Type Description 필수 기본값
filtered boolean
severity string No

콘텐츠 필터 감지 결과

Name Type Description 필수 기본값
filtered boolean
detected boolean No

dalleFilterResults

콘텐츠 필터링 카테고리(증오, 성적, 폭력, self_harm), 감지 여부, 심각도 수준(very_low, 낮음, 중간, 고수준, 해로운 콘텐츠의 강도와 위험 수준을 결정함), 필터링 여부에 관한 정보입니다. 탈옥 내용과 욕설에 관한 정보, 감지되었는지, 필터링되었는지 여부. 그리고 고객 차단 목록이 필터링되었는지 여부와 그 ID에 관한 정보도 알려줍니다.

Name Type Description 필수 기본값
sexual 내용필터심각도결과 No
violence 내용필터심각도결과 No
증오하다 내용필터심각도결과 No
self_harm 내용필터심각도결과 No
profanity 컨텐츠 필터 감지 결과 No
제한 해제 컨텐츠 필터 감지 결과 No

audioResponse

json일 때 번역 또는 전사 응답response_format

Name Type Description 필수 기본값
문자 메시지 string 번역 또는 필사된 텍스트.

audioVerboseResponse

response_format verbose_json 번역 또는 전사 응답

Name Type Description 필수 기본값
문자 메시지 string 번역 또는 필사된 텍스트.
작업 string 오디오 작업 종류. No
language string Language. No
duration number 기간. No
세그먼트 배열 No

오디오응답형식

출력 형식을 정의합니다.

설명: 출력 형식을 정의합니다.

형식: 문자열

기본값:

열거형 값:

  • Json
  • 문자 메시지
  • srt
  • verbose_json
  • vtt

imageQuality

생성될 이미지의 품질입니다.

설명: 생성될 이미지의 품질.

형식: 문자열

기본값: 표준

열구 이름: 품질

열거형 값:

Value Description
표준 표준 품질로 이미지를 만듭니다.
고화질 HD 화질은 더 세밀하고 이미지 전반에 걸쳐 더 일관성을 가진 이미지를 만들어냅니다.

imagesResponseFormat

생성된 이미지가 반환되는 형식입니다.

설명: 생성된 이미지가 반환되는 형식.

형식: 문자열

기본값: url

열거 이름: ImagesResponseFormat

열거형 값:

Value Description
Url 생성된 이미지를 임시 다운로드할 수 있는 URL입니다.
b64_json 생성된 이미지는 base64 인코딩된 문자열로 반환됩니다.

imageSize

생성된 이미지의 크기.

설명: 생성된 이미지의 크기.

형식: 문자열

기본값: 1024x1024

열구 이름: 크기

열거형 값:

Value Description
1792x1024 생성된 이미지의 원하는 크기는 1792x1024 픽셀입니다.
1024x1792 생성된 이미지의 원하는 크기는 1024x1792 픽셀입니다.
1024x1024 생성된 이미지의 원하는 크기는 1024x1024 픽셀입니다.

imageStyle

생성된 이미지의 스타일.

설명: 생성된 이미지의 스타일.

형식: 문자열

기본값: 생생함

열거 이름: 스타일

열거형 값:

Value Description
vivid Vivid는 초현실적이고 극적인 이미지를 만들어냅니다.
natural 자연은 더 자연스럽고 덜 과장된 이미지를 만듭니다.

generateImagesResponse

Name Type Description 필수 기본값
만든 정수 (integer) 유닉스 타임스탬프가 생성된 시점입니다.
데이터 배열 성공 시 연산의 결과 데이터입니다

다음 단계

REST API를 사용한 모델 및 미세 조정에 대해 알아봅니다. OpenAI를 구동하는 기본 모델에 대해 더 알아보세요.