Microsoft AI: MAI-Voice-2
Microsoft AI의 MAI-Voice-2는 내레이션, 대화, 음성 애플리케이션을 위한 표현력 있는 다국어 음성을 생성합니다. 긴 콘텐츠의 일관성, 다중 화자, 대화 차례별 감정 제어를 통해 오디오북, 수업, 캐릭터 목소리에 활용할 수 있습니다.
모델 소개
이 설명은 모델의 기능을 다룹니다. Ailoot에서 사용할 수 있는 입력, 출력 및 옵션은 아래에 선택한 메서드별로 표시됩니다.
MAI-Voice-2는 자연스럽고 표현력 있는 음성 콘텐츠를 위한 Microsoft AI의 프롬프트 기반 텍스트 음성 변환 모델입니다. 제조사는 음향 충실도, 화자 일관성, 감정 표현 범위를 강조합니다. 문서에 명시된 작업에는 어시스턴트, 오디오북, 팟캐스트, 강의, 교육용 캐릭터, 접근성 내레이션이 포함됩니다. 발화문 텍스트는 선택한 목소리의 오디오가 됩니다. 즉각적인 응답을 우선하는 상호작용에는 자체 특성을 가진 Voice-2-Flash 변형이 있습니다.
언어와 화자
Microsoft의 Voice-2 발표는 영어, 프랑스어, 독일어, 이탈리아어, 스페인어, 포르투갈어, 힌디어, 한국어, 중국어 간체, 튀르키예어, 러시아어, 태국어, 네덜란드어, 루마니아어, 헝가리어를 포함하는 15개 언어를 설명합니다. 일부 언어에는 별도의 지역 변형이 있습니다. 발표는 힌디어·영어 및 스페인어·영어 코드 전환도 설명하므로 해당 언어가 섞인 문단에서 화자가 자연스럽게 언어를 바꾸는 방식을 유지할 수 있습니다.
실제로 말할 단어를 준비하고 의도한 언어를 보존하세요. 이중 언어 교육 문단은 이름과 인용을 그대로 유지하면서 한 언어로 용어를 소개하고 다른 언어로 설명할 수 있습니다. 모든 로캘을 서로 바꿔 쓸 수 있다고 취급하지 말고 작품에 필요한 억양과 청중에 맞춰 음성 결과를 확인하세요.
모델 카드는 선별된 목소리 라이브러리와 별도의 참조 음성 프롬프트 경로를 제공합니다. 참조 음성은 미세 조정 없이 원하는 화자의 목소리 정체성을 제공합니다. 녹음이 리듬과 표현에 영향을 주므로 Microsoft는 적당한 에너지의 자연스러운 대화체를 권장합니다. 사용자 지정 목소리가 필요한 작업에서는 대표성이 있고 동의받은 녹음을 사용하세요.
긴 내레이션과 대화
모델 카드는 맥락을 전달하며 청크로 나누는 긴 콘텐츠 생성을 문서화합니다. 장, 수업, 연속되는 팟캐스트 문단처럼 이어지는 내레이션을 지원합니다. 의미 있는 구간 경계에서 대본을 나누고 용어와 화자 선택을 일관되게 유지하세요. 긴 설명에는 주제가 바뀌는 시점을 청취자에게 알려 주는 구어체 전환 문장이 도움이 됩니다.
다중 화자 지원을 통해 준비된 대화에서 서로 다른 역할을 맡길 수 있습니다. 질문과 응답을 의도한 화자에게 배정하고 같은 역할이 돌아오면 배정을 유지하세요. 입력에는 최종 대사와 관련 연기 지시를 담아야 하며, 음성 합성기에 대화를 새로 만들라고 개방형으로 요청해서는 안 됩니다.
어조와 감정 표현
Microsoft는 대화 차례 수준에서 어조, 표현, 감정을 세밀하게 제어한다고 설명합니다. 발표 예제는 표현력 있는 발화 역할과 감정적 문단을 보여 줍니다. 내러티브에서는 어떤 문장이 사실적이고 성찰적이며 흥분한 상태인지 정한 뒤 의미에 맞는 표현을 적용하세요. 예를 들어 “실험에서 가장 조용했던 부분이 가장 많은 것을 알려 주었습니다. 바로 그곳에서 패턴이 처음으로 분명해졌습니다.”라고 쓸 수 있습니다. 이 문구는 의도적인 강조 변화를 만들어 줍니다.
안내용 보이스오버에서는 행동을 명확히 하고 설명을 별도의 문장으로 두세요. 대화에서는 캐릭터의 실제 대사와 장면 메모를 구분하세요. 반복되는 이름과 문단 사이의 전환을 들어 보며 최종 흐름이 일관되도록 하세요.
오디오 활용
출력은 제공된 발화문에 대해 새로 생성한 음성입니다. 유용한 형태는 목소리와 표현이 대본을 따르는 내레이션, 대화, 애플리케이션의 음성 응답입니다. 텍스트, 화자, 구간 순서를 녹음에 연결해 보관하면 나머지 연기를 잃지 않고 의도한 문단을 수정할 수 있습니다.
MAI-Voice-2는 긴 청취 경험에서 자연스러움과 표현력에 중점을 둡니다. 긴 콘텐츠 생성 능력이 무제한 입력이나 보장된 최대 녹음 시간을 정해 주지는 않습니다. Voice-2의 정확한 설명은 이후 Voice-2.1 버전들의 확장된 언어 목록과 음성 설정과 구분해야 합니다.
Ailoot Ultra · 음성 합성 POST /v1/audio/speech microsoft/mai-voice-2
microsoft/mai-voice-2시작하기
Microsoft AI의 MAI-Voice-2는 내레이션, 대화, 음성 애플리케이션을 위한 표현력 있는 다국어 음성을 생성합니다. 긴 콘텐츠의 일관성, 다중 화자, 대화 차례별 감정 제어를 통해 오디오북, 수업, 캐릭터 목소리에 활용할 수 있습니다.
- 허용 입력
- 텍스트
- 결과
- 오디오
Ailoot에서 사용 가능 · 입력 및 메서드
Ailoot Ultra · 음성 합성 POST /v1/audio/speech
- 입력
text- 출력
audio- 출력 형식
- mp3
| 필드 | 유형 | 요건 | 값과 한도 | 기본값 |
|---|---|---|---|---|
필드model | 유형string | 요건필수 | 값과 한도 microsoft/mai-voice-2 | 기본값— |
필드input | 유형string | 요건필수 | 값과 한도 최소 길이: 1 단위: Unicode 문자 | 기본값— |
필드voice | 유형string | 요건필수 | 값과 한도 en-US-Harper:MAI-Voice-2, es-MX-Valeria:MAI-Voice-2, fr-FR-Soleil:MAI-Voice-2, de-DE-Klaus:MAI-Voice-2 | 기본값— |
필드response_format | 유형string | 요건필수 | 값과 한도 mp3 | 기본값— |
입력 자료 조합
text_to_speech · 필수: input
메서드 매개변수와 수명 주기
| 매개변수 | 명세 |
|---|---|
매개변수content_type | 명세application/json |
매개변수required | 명세model, input, voice, response_format |
매개변수voice_ids | 명세en-US-Harper:MAI-Voice-2, es-MX-Valeria:MAI-Voice-2, fr-FR-Soleil:MAI-Voice-2, de-DE-Klaus:MAI-Voice-2 |
매개변수response_format | 명세mp3 |
매개변수max_input_characters | 명세null |
매개변수other_options | 명세false |
매개변수input | 명세정확한 UTF-8 텍스트; 정규화 없이 계산한 유니코드 문자 수 |
매개변수material_types | 명세text |
수명 주기: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · 실제로 반환된 task_id 또는 미디어 라이브러리 기록
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
이 모델 프로필에 있는 정확한 음성을 선택하세요.
입력 문자 수와 오디오 초는 서로 다른 측정 단위입니다.
요금
요금 정보는 요청 옵션을 추가하지 않습니다. 지원되는 매개변수는 선택한 메서드에 표시됩니다.
- 빠른 모드
- 미지정 빠른 모드를 선택한 경우
- Flex 모드
- 미지정 flex 모드를 선택한 경우
- 최대 추론 수준
- 미지정 최대 추론 수준에 default 조정값을 적용하는 경우
Ailoot 요금
설정별 가격
각 요금을 표시된 조건과 대조하세요. 서로 대체되는 설정 묶음마다 하나의 요금만 적용하세요.
| 설정 | 요금표 | 과금 대상 수량 | 과금 단위 | 요금 |
|---|---|---|---|---|
| 설정기본 토큰 요금 | 요금표기본 요금 | 과금 대상 수량— | 과금 단위— | 요금 입력 · 입력 토큰 — / 1K 토큰 출력 · 출력 토큰 — / 1K 토큰 입력 · 캐시 읽기 — / 1K 토큰 입력 · 캐시 쓰기 — / 1K 토큰 입력 · 캐시 쓰기, 1시간 — / 1K 토큰 |
| 설정Ultra | 요금표— | 과금 대상 수량한자를 포함해 Unicode 코드 포인트 하나를 문자 하나로 계산합니다. | 과금 단위입력 문자 1K개당 | 요금 입력 · 입력 문자 $0.044 입력 문자 1K개당 |
참조 요금 상세 정보
모델 수준의 참조 요금표는 메서드 선택, 견적 또는 요금을 변경하지 않습니다. 실제 과금에는 선택한 Ailoot 메서드 요금이 적용됩니다.
Microsoft AI: MAI-Voice-2
설정별 가격
| 설정 | 과금 조건 | 요금 |
|---|---|---|
| 설정Microsoft AI: MAI-Voice-2 · 기본 설정 | 과금 조건기본 설정 | 요금 입력 · 입력 문자 수 US$0.000044 입력 문자당 |
Ailoot는 요청 전에 예상 금액을 미리 확보합니다. 결과를 받은 뒤 측정된 사용량을 기준으로 최종 요금을 정산합니다. 스트리밍 정산에는 최종 사용량 기록을 사용합니다. 금액 확보와 정산 방식 →
요청 예제
Ailoot Ultra · 음성 합성
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_VOICE_ID:?Choose an accepted voice ID from this exact model profile}"
export AILOOT_VOICE_ID
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "microsoft/mai-voice-2", "input": "Good afternoon! This is a short voice take."}')
voice=os.environ["AILOOT_VOICE_ID"]
allowed=json.loads('["en-US-Harper:MAI-Voice-2", "es-MX-Valeria:MAI-Voice-2", "fr-FR-Soleil:MAI-Voice-2", "de-DE-Klaus:MAI-Voice-2"]')
if voice not in allowed: raise SystemExit("Choose an accepted voice ID from this exact model profile")
p["voice"]=voice
p["response_format"]="mp3"
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/speech \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o speech.mp3
결과 수신 및 저장
Ailoot Ultra · 음성 합성
mp3
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
기타 콘텐츠 조회
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \
-H "Authorization: Bearer $AILOOT_API_KEY" -o media-assets.json
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_MEDIA_TASK_ID:?Set the actual ID returned by the response or media-library metadata}"
export AILOOT_MEDIA_TASK_ID
resource_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_MEDIA_TASK_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/media/tasks/$resource_id" \
-H "Authorization: Bearer $AILOOT_API_KEY" -o media-task.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
print(json.dumps(json.loads(Path("media-task.json").read_text())))
PY_RESULT
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_ASSET_ID:?Set the actual ID returned by the response or media-library metadata}"
export AILOOT_ASSET_ID
resource_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_ASSET_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/media/assets/$resource_id" \
-H "Authorization: Bearer $AILOOT_API_KEY" -o media-asset.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
print(json.dumps(json.loads(Path("media-asset.json").read_text())))
PY_RESULT
완료된 결과 모두 보관
반환된 완전한 응답, 파일, 콘텐츠 부분을 모두 보관하세요.
바이너리 결과 전체와 헤더를 보관하세요. JSON 또는 여러 출력이 반환되면 모든 데이터 항목을 보관하고 실제로 반환된 서명된 자산 URL을 각각 조회하세요.
원래 응답을 확인해야 할 경우
다시 제출하지 말고 정산 대조를 위해 최초 operation_id/X-Client-Request-ID를 보관하세요. 전용 오디오 폴링 라우트는 없습니다.
응답 필드
| 필드 | 유형 |
|---|---|
필드binary audio | 유형bytes |
필드response headers | 유형headers |
오류와 다음 단계
| 응답 | 조건 | 다음 단계 |
|---|---|---|
응답400 · invalid_request_error | 조건필수 필드, 자료 표현 방식 또는 파라미터 값이 올바르지 않음 | 다음 단계새 생성 요청 전에 표시된 필드를 수정하세요. |
응답server_error | 조건반환된 응답에 작업 또는 결과 확인이 필요하다고 표시되어 있습니다 | 다음 단계최초로 반환된 작업/태스크 ID, 요청 헤더와 응답을 보관하고, 지원되는 조회 방식으로 해당 최초 작업을 계속 조회하세요. 생성 요청을 다시 제출하지 마세요. |
별칭
모델 별칭
Ailoot Ultra microsoft/mai-voice-2
메서드 경로 별칭
위에 표시된 메서드 경로를 사용하세요.
관련 호출용 ID
FAQ · Microsoft AI: MAI-Voice-2
- 어떤 입력과 결과를 사용할 수 있나요?
POST /v1/audio/speech·microsoft/mai-voice-2:text→audio- 요청은 어떤 필드를 사용하나요?
POST /v1/audio/speech·microsoft/mai-voice-2:model,input,voice,response_format