이번에 추가된 것은 음성 모델 세 개다

Vercel은 2026년 10월 1일 Microsoft AI의 음성 모델을 AI Gateway에서 제공한다고 발표했다. 이름이 비슷해도 역할은 다르다. MAI-Voice-2.1과 MAI-Voice-2.1-Flash는 입력한 글을 소리로 읽어 주는 음성 합성 모델이고, MAI-Transcribe-2 Streaming은 들어오는 소리를 글로 바꾸는 음성 인식 모델이다. 발표를 ‘음성 에이전트가 통째로 추가됐다’고 읽으면 구현 범위를 잘못 잡기 쉽다.

Gateway는 모델을 호출하는 공통 창구다. 여러 공급자의 모델을 같은 인증과 사용량 관리 체계에서 다루도록 연결한다. 이번 추가로 이미 Gateway를 쓰는 팀은 Microsoft 음성 모델도 기존 관리 흐름 안에서 검토할 수 있게 됐다. 다만 공통 창구라는 표현이 모든 기능의 요청 형식과 반환 데이터까지 같다는 뜻은 아니다.

오디오 기능 전체의 상태도 구분해야 한다. Vercel은 앞선 6월 발표에서 실시간 음성·음성 합성·전사를 AI SDK 7의 베타 기능으로 설명했다. 10월의 Microsoft 모델 추가는 그 위에 공급자 선택지가 늘어난 변화다. 모델 페이지가 열렸다는 사실만으로 주변 SDK 인터페이스까지 안정판이라고 단정하지 않는 편이 맞다.

근거 [1] [6] [8]

낭독, 빠른 답변, 자막을 서로 다른 문제로 봐야 한다

MAI-Voice-2.1의 공식 설명은 긴 문장의 화자 일관성과 표현력에 초점을 맞춘다. 긴 안내문, 수업 자료, 내레이션을 만들 때는 첫 음절이 얼마나 빨리 나오느냐뿐 아니라 문단 사이에서 목소리와 억양이 얼마나 자연스럽게 이어지느냐가 중요하다. 공급자는 23개 언어 지원을 안내하지만, 이 글에서 그 모든 언어를 직접 들어 보거나 비교한 것은 아니다.

Flash는 낮은 지연을 목표로 하는 변형이다. 음성 비서처럼 사용자가 답을 기다리는 흐름을 주된 활용처로 제시한다. 여기서 ‘빠르다’는 공급자가 설명한 설계 방향이지, 특정 한국 네트워크에서 몇 밀리초 안에 답한다는 보증은 아니다. 첫 소리가 나올 때까지의 시간과 긴 문장을 끝까지 만드는 시간은 따로 기록해야 한다.

Transcribe-2 Streaming은 WebSocket 연결로 음성을 연속해서 보내고 인식 결과를 점진적으로 받는 방식이다. 녹음 파일 전체가 준비된 뒤 처리하는 전사와 구별된다. 회의가 진행되는 동안 자막이 필요한지, 회의가 끝난 뒤 정확한 회의록만 필요한지에 따라 선택이 달라진다. 실시간 결과가 필요하지 않은 작업에 스트리밍 구성을 억지로 넣을 이유는 없다.

모델입력 → 출력공식 설명의 중심확인한 단가
MAI-Voice-2.1글 → 음성긴 낭독과 표현력$22 / 100만 글자
MAI-Voice-2.1-Flash글 → 음성빠른 음성 응답$15 / 100만 글자
MAI-Transcribe-2 Streaming연속 음성 → 글진행 중인 대화의 자막$0.54 / 오디오 1시간

2026년 10월 3일 Vercel 공식 모델 페이지에서 확인한 역할과 표시 단가. 실제 청구 조건은 계정과 최신 가격 문서를 다시 확인해야 한다.

근거 [2] [3] [4]

가격은 토큰이 아니라 글자와 오디오 시간으로 계산한다

2026년 10월 3일 확인한 모델 목록에는 Voice-2.1이 100만 글자당 22달러, Flash가 15달러로 표시돼 있다. 입력을 10만 글자로 가정하면 단순 곱셈으로 각각 2.20달러와 1.50달러다. 이는 표시 단가만 적용한 예시이며, 같은 내용을 다시 생성하거나 여러 목소리로 시험하면 요청량이 그만큼 늘어난다.

Streaming 전사는 오디오 1시간당 0.54달러로 안내된다. 모델에 보내는 오디오가 총 100시간이라고 가정하면 단가 기준 54달러다. 하지만 실제 음성 서비스의 총비용을 이 숫자 하나로 잡아서는 안 된다. 대화 내용을 이해하는 별도 모델, 서버 운영, 녹음 저장, 네트워크 전송처럼 애플리케이션이 추가로 사용하는 자원은 별개다.

Vercel은 해당 모델에 추론 마크업이나 플랫폼 수수료를 붙이지 않는다고 발표했다. 이 설명은 모델 사용 자체가 무료라는 뜻이 아니다. 결제 관련 조건과 무료 크레딧 자격은 계정 및 가격 문서에서 확인해야 한다. 제품의 단가를 코드에 영구적으로 적어 두기보다 견적을 내는 시점에 모델 페이지를 다시 여는 편이 안전하다.

근거 [1] [2] [3] [4] [7]

실시간 자막에서는 ‘임시 결과’를 쌓아 붙이면 안 된다

Streaming 모델의 설명은 중간 결과인 partial과 확정 결과인 final을 구분한다. 아직 발화가 끝나지 않았을 때 받은 문장은 다음 소리가 들어오면서 바뀔 수 있다. 따라서 화면에 도착한 문자열을 매번 끝에 더하는 방식으로 만들면 앞 문장이 중복되거나, 이미 고친 표현이 그대로 남을 수 있다.

예를 들어 사용자가 ‘이번 회의 자료를 공유하겠습니다’라고 말하는 동안 화면에는 ‘이번 회의’, ‘이번 회의 자료를’, 마지막으로 전체 문장이 들어올 수 있다. 이것은 API의 실제 응답을 캡처한 예시가 아니라 화면 처리 방식을 설명하기 위한 예시다. 같은 구간의 임시 문장은 교체하고, 확정된 구간만 별도 목록에 남기는 구조가 이해하기 쉽다.

실무 검증은 인식 정확도에서 끝나지 않는다. 네트워크가 끊겼을 때 이미 확정된 자막을 보존하는지, 재연결 뒤 같은 구간이 두 번 저장되지 않는지, 사용자가 녹음을 중단하면 스트림과 비용 발생도 함께 멈추는지 확인해야 한다. 이러한 처리는 모델의 성능과 별개로 애플리케이션이 책임져야 할 부분이다.

실시간 자막이 화면에 남기까지
  1. 01마이크 입력음성을 연속 전송
  2. 02임시 자막새 결과로 교체
  3. 03확정 자막최종 구간만 보관

동작을 설명하기 위한 구성도입니다. 실제 API 응답 화면은 아닙니다.

근거 [4]

한국어 도입 판단은 직접 만든 작은 평가 세트부터

다국어 지원이라는 문구만 보고 한국어 음질과 인식률을 확정할 수는 없다. 모델과 보이스의 언어 지원 범위를 먼저 확인한 다음, 제품에서 실제로 사용하는 문장으로 들어 봐야 한다. 숫자와 단위, 영문 제품명, 날짜, 고유명사가 섞인 문장은 짧은 영어 데모보다 서비스의 약점을 빨리 드러낼 수 있다.

시험용 원고에는 사용자가 자주 묻는 안내문, 말줄임과 의문문, 긴 문단을 함께 넣는 편이 좋다. 같은 문장을 일반형과 Flash에 보내 소리가 처음 나오기까지의 시간, 발음 오류, 쉼표와 문장 끝의 억양을 따로 적는다. ‘더 자연스럽다’는 한 줄 감상보다는 어떤 문장에서 무엇이 달랐는지 남겨야 다음 버전과도 비교할 수 있다.

전사는 조용한 환경과 배경 소음이 있는 환경을 나누고, 미리 작성한 정답 문장과 비교하는 방식으로 시작할 수 있다. 여기서 제시한 것은 편집상 권하는 평가 절차이며, 특정 모델이 한국어에서 더 낫다는 실험 결과가 아니다. 이 글에서는 유료 API를 호출하지 않았으므로 한국어 인식률이나 지연 수치를 제시하지 않는다.

근거 [2] [3] [4]

처음 연결할 때는 서버에서 짧은 음성 한 개만 만든다

공식 모델 페이지의 예제는 AI SDK의 experimental_generateSpeech와 Gateway의 speechModel 연결을 사용한다. 처음부터 마이크 입력, 전사, 대화 모델, 음성 재생을 모두 붙이기보다 서버에서 짧은 글을 음성 파일로 만드는 것부터 확인하는 편이 문제를 찾기 쉽다. 인증이 안 되는지, 모델 호출이 안 되는지, 재생만 안 되는지를 분리할 수 있기 때문이다.

Gateway 인증 문서는 API 키 또는 Vercel OIDC 토큰을 안내한다. 아래 코드는 로컬 서버 환경에 AI_GATEWAY_API_KEY가 있다는 전제로 작성한 최소 예제다. 키를 웹페이지 HTML이나 브라우저 JavaScript에 넣으면 방문자에게 노출된다. GitHub Pages는 이 기사를 배포하는 용도로 쓰고, 실제 유료 모델 호출은 키를 보호할 수 있는 별도 서버에서 처리해야 한다.

이 예제는 공식 인터페이스에 맞춰 구성한 설명용 코드다. 이 사이트에서 Microsoft 음성이 재생되거나 API 키가 발급되는 것은 아니다. 보이스 이름과 지원 옵션은 모델별로 확인해야 하며, 실험적 API는 설치 버전에 따라 달라질 수 있다. 기존 프로젝트에 넣을 때는 현재 잠금 파일의 AI SDK 버전과 해당 버전 문서를 함께 확인하는 것이 우선이다.

javascript · 문서 기반 구성 예시
// 서버 또는 로컬 Node.js에서 실행하는 문서 기반 예제
// npm install ai @ai-sdk/gateway
// AI_GATEWAY_API_KEY는 환경 변수로만 설정한다.
import { experimental_generateSpeech as generateSpeech } from 'ai';
import { gateway } from '@ai-sdk/gateway';
import { writeFile } from 'node:fs/promises';

if (!process.env.AI_GATEWAY_API_KEY) {
  throw new Error('AI_GATEWAY_API_KEY 환경 변수가 필요합니다.');
}

const result = await generateSpeech({
  model: gateway.speechModel('microsoft/mai-voice-2.1-flash'),
  voice: 'en-US-Harper',
  text: 'This is a short audio connection test.',
  abortSignal: AbortSignal.timeout(30000),
});

await writeFile('connection-test.mp3', result.audio.uint8Array);

근거 [3] [5] [9]

개인정보와 데이터 보관은 별도 항목으로 확인한다

발표문은 Microsoft AI의 보안 및 zero data retention 방향을 언급한다. 그러나 그 설명을 근거로 자신의 음성 서비스가 어떤 데이터도 저장하지 않는다고 표시해서는 안 된다. 애플리케이션 로그, 녹음 보관, 오류 추적 도구, 공급자의 예외 조건은 각각 확인해야 한다. 모델을 호출하는 경로 하나의 설명과 서비스 전체의 개인정보 처리는 같은 범위가 아니다.

특히 실제 회의나 고객 통화를 시험 자료로 쓰기 전에는 녹음과 외부 전송에 대한 적절한 동의 및 조직 규정을 먼저 확인해야 한다. 초기 기능 검증에는 공개 가능한 시험 문장이나 직접 녹음한 비민감 자료를 사용하는 방법이 있다. 여기는 법적 적합성을 판정하는 안내가 아니라 기술 도입 과정에서 누락하기 쉬운 확인 항목을 정리한 부분이다.

결국 이번 업데이트의 실용성은 기존 Gateway 환경에 얼마나 적은 추가 작업으로 음성을 붙일 수 있는지에 달려 있다. 이미 음성 모델을 안정적으로 운영 중이라면 갈아타기부터 할 필요는 없다. 같은 시험 원고와 녹음을 두 환경에 넣고, 품질과 응답 시간, 한 작업을 끝내는 총비용을 함께 비교한 뒤 전환 범위를 정하면 된다.

근거 [1] [6] [7]

원문, 실제 데모, 구현 문서를 바로 여는 순서

출시 범위가 궁금하면 아래의 Vercel 공식 발표를 먼저 읽으면 된다. 실제 목소리를 듣고 싶다면 Voice-2.1 또는 Flash 모델 페이지의 Playground로 이동하고, 실시간 전사를 확인하려면 Streaming 모델 페이지를 열면 된다. 세 페이지를 따로 연결한 이유는 모델명이 비슷해도 직접 시험하는 입력과 출력이 다르기 때문이다.

계정 인증, 사용 가능 보이스와 과금 조건은 Playground에서 다시 확인해야 한다. API를 넣을 단계에서는 음성 생성 문서와 인증 문서를 이어서 보면 된다. 단순한 홍보 영상보다 해당 모델을 직접 시험하는 경로가 더 정확하므로, 확인되지 않은 유튜브 영상이나 다른 제품의 데모를 이번 출시의 시연처럼 끼워 넣지 않았다.

이 글의 가격과 제공 상태는 상단 확인 시점의 자료를 기준으로 한다. 요금이나 모델 이름이 바뀌었을 때는 오른쪽 리소스에서 원문을 다시 확인할 수 있다. 오류를 발견한 경우에는 사이트의 정정 요청 링크로 제보할 수 있으며, 이후 수정은 확인 날짜와 함께 남기는 방식으로 관리한다.

근거 [1] [2] [3] [4] [5] [9]