모델

gpt-4o-transcribe-diarize

Markdown · JSON

gpt-4o-transcribe-diarize

GPT-4o Transcribe Diarize는 녹음된 발화를 화자 레이블과 시간이 표시된 구간을 갖춘 텍스트로 변환합니다. 누가 언제 말했는지 보여 주는 전사가 필요한 회의, 인터뷰, 여러 사람이 참여한 녹음에 적합하며, 알려진 화자를 위한 짧은 음성 참조를 선택적으로 제공할 수 있습니다.

모델 소개

이 설명은 모델의 기능을 다룹니다. Ailoot에서 사용할 수 있는 입력, 출력 및 옵션은 아래에 선택한 메서드별로 표시됩니다.

GPT-4o Transcribe Diarize는 화자 분리가 내장된 OpenAI의 자동 음성 인식 모델입니다. 전사한 오디오 구간을 대화의 서로 다른 화자와 연결합니다. 유용한 결과는 단어가 연속된 덩어리가 아니라 화자와 시간별로 정리된 전사입니다. 회의, 인터뷰, 여러 사람의 토론처럼 화자 레이블이 필요한 녹음된 발화를 위한 모델입니다.

완료된 녹음 준비하기

전사할 녹음을 제공하세요. 문서화된 파일 작업 흐름은 MP3, MP4, MPEG, MPGA, M4A, WAV, WebM을 입력받으며 파일 크기는 25 MB로 제한됩니다. 화자의 발언 차례, 이름, 불분명한 구절을 실제 오디오와 대조할 수 있도록 원본 녹음을 보관하세요.

회의에는 발언 차례를 구분하는 데 도움이 되는 짧은 쉼을 잘라내지 말고 대화의 순서를 유지하세요. 인터뷰에는 작업에서 질문과 응답의 관계가 필요하다면 둘을 함께 유지합니다. 오디오 준비는 화자 레이블이 있는 결과에 중요한 정보를 없애지 않으면서 발화를 들을 수 있게 해야 합니다.

이는 파일 전사 작업 흐름입니다. 완료된 녹음을 처리하는 일과 아직 들어오는 오디오 스트림을 인식하는 일은 서로 다른 작업이며, 이 모델의 화자 레이블 지정은 Realtime 전사 세션에서 지원되지 않습니다.

화자 레이블이 있는 전사 요청하기

diarized_json 결과 형식은 화자 식별 레이블과 시작·종료 시간이 포함된 구간을 반환합니다. 각 구간에는 전사된 텍스트도 포함됩니다. 단어를 녹음의 해당 부분과 연결할 수 있도록 이 필드들을 함께 유지하세요.

유용한 회의 전사에는 구간 순서를 유지하고 각 화자의 말을 시간과 함께 표시합니다. 이후 작업에서 이 전사로 회의록이나 실행 항목을 작성할 수 있지만, 화자 분리 자체가 회의의 합의 내용을 결정하거나 검증된 요약을 생성하는 것은 아닙니다.

화자 레이블은 모델이 발화를 묶은 방식을 나타냅니다. 사람들이 서로 말을 끊거나 짧게 말하거나 발화가 겹치는 전환 지점을 확인하세요. 구조가 잘 잡힌 결과는 탐색과 검토에 도움이 되지만, 특정 화자에게 귀속한 내용은 여전히 원본 오디오를 들어 확인해야 할 수 있습니다.

알려진 화자의 참조 음성

문서화된 작업 흐름은 이름을 지정한 화자 참조 음성을 최대 네 개 입력받을 수 있습니다. 각 참조는 기본 업로드에서 지원하는 형식의 2–10초짜리 짧은 오디오 클립입니다. 구간을 알려진 화자와 연결할 수 있도록 이름과 참조 음성을 함께 제공합니다.

의도한 화자의 음성이 명확하게 담긴 참조를 준비하고, 전사에서 사용할 레이블과 이름을 일치시키세요. 인터뷰에서는 진행자의 참조 음성이 있으면 모든 참여자를 익명 레이블로 바꾸지 않고 화자 레이블이 있는 결과를 정리하는 데 도움이 됩니다. 참조 음성은 화자 귀속을 위한 입력이며, 일반적인 음성 복제 작업이나 개인의 신원 증명이 아닙니다.

화자에게 이름을 붙이는 일과 실제 발언을 편집하는 일을 혼동하지 마세요. 유용한 출력은 여전히 녹음의 내용과 실제 발언 순서를 보존해야 합니다.

구간 분할과 모델 한도

30초보다 긴 오디오에는 개발사가 구간 분할 전략을 요구합니다. 자동 분할이나 음성 활동 감지 설정을 사용할 수 있습니다. 이 요구 사항은 최대 녹음 시간이 아니며, 긴 입력을 처리용으로 나누는 방식을 설명합니다.

모델 카드에는 16,000토큰의 컨텍스트 창과 2,000토큰의 최대 출력이 명시되어 있습니다. 이는 모델 토큰 한도이며, 파일 작업 흐름의 25 MB 업로드 한도 및 분할 기준 시간과는 별개입니다. 모든 녹음에 적용되는 임의의 분 단위 시간으로 변환해서는 안 됩니다.

긴 전사를 조합하거나 살펴볼 때는 시간과 구간 식별 정보를 유지하세요. 제출 전에 녹음을 나눴다면 각 부분과 원본 오디오의 관계를 보관해, 부분 내 타임스탬프를 전체 대화의 위치와 혼동하지 않게 합니다.

확정된 구간 스트리밍하기

파일 전사 작업 흐름은 녹음을 처리하는 동안 텍스트를 스트리밍할 수 있습니다. 화자 레이블이 있는 스트리밍에서는 완료된 구간이 구간 이벤트를 생성합니다. 텍스트 델타에는 구간 식별자가 포함되지만 부분적인 화자 배정은 포함되지 않습니다. 화자는 구간이 확정될 때 배정됩니다.

이 차이는 화면 표시에 중요합니다. 모델이 구간을 완료하기 전에 불확실한 화자 레이블을 붙이지 말고, 임시 텍스트와 확정된 화자 발언을 서로 다른 상태로 표시하세요. 이후 편집이나 분석에 전사가 필요하다면 완료된 결과를 보관합니다.

모델과 출력의 범위

이 프로필은 화자 분리 모델이며, 일반 GPT-4o 전사, Mini 전사, 음성 합성, 실시간 대화 모델과 구분됩니다. 전사 프롬프트는 지원하지 않습니다. 용어 검토나 수정은 원본 오디오와 대조하는 별도의 단계로 유지하세요. 개발사 인터페이스는 녹음된 오디오를 텍스트로 전사합니다. 음성 응답을 생성하거나 별도의 오디오 번역 작업 흐름을 통해 녹음을 번역하지 않습니다.

내용과 화자 구조가 모두 필요한 전사에 사용하세요. 이름, 전문 용어, 숫자, 발언 차례의 경계, 화자 귀속을 녹음과 대조합니다. 오디오, 선택한 결과 형식, 참조 음성, 완료된 전사를 보관해 구체적인 구절 하나나 화자 배정을 대상으로 수정할 수 있게 하세요.

Ailoot Ultra · 음성 인식 POST /v1/audio/transcriptions openai/gpt-4o-transcribe-diarize

openai/gpt-4o-transcribe-diarize

OpenAI /openai/gpt-4o-transcribe-diarize

시작하기

GPT-4o Transcribe Diarize는 녹음된 발화를 화자 레이블과 시간이 표시된 구간을 갖춘 텍스트로 변환합니다. 누가 언제 말했는지 보여 주는 전사가 필요한 회의, 인터뷰, 여러 사람이 참여한 녹음에 적합하며, 알려진 화자를 위한 짧은 음성 참조를 선택적으로 제공할 수 있습니다.

허용 입력
오디오
결과
transcription

Ailoot에서 사용 가능 · 입력 및 메서드

Ailoot Ultra · 음성 인식 POST /v1/audio/transcriptions
입력
audio
출력
transcription
출력 형식
json
필드유형요건값과 한도기본값
필드model유형string요건필수값과 한도
openai/gpt-4o-transcribe-diarize
기본값—
필드file유형file요건필수값과 한도
최대 바이트 수: 26,214,400
MIME 유형: audio/mpeg
파일 확장자: .mp3
최대 길이(초): 30
기본값—
필드response_format유형string요건필수값과 한도
diarized_json
기본값—
입력 자료 조합

diarized_transcription

메서드 매개변수와 수명 주기
매개변수명세
매개변수content_type명세multipart/form-data
매개변수required명세model, file, response_format
매개변수file_formats명세mp3
매개변수max_audio_seconds명세30
매개변수max_bytes명세26214400
매개변수response_format명세diarized_json
매개변수other_options명세false
매개변수material_types명세audio
매개변수additional_properties명세false
매개변수form_string_maximum_bytes명세256

메서드 별칭: /audio/transcriptions

수명 주기: 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}

실제 녹음과 일치하는 형식을 사용하세요.

전사문 전체, 구간, 화자 ID 및 시간 정보를 보존하세요.

요금

요금 정보는 요청 옵션을 추가하지 않습니다. 지원되는 매개변수는 선택한 메서드에 표시됩니다.

빠른 모드
미지정 빠른 모드를 선택한 경우
Flex 모드
미지정 flex 모드를 선택한 경우
최대 추론 수준
미지정 최대 추론 수준에 default 조정값을 적용하는 경우

Ailoot 요금

설정별 가격

각 요금을 표시된 조건과 대조하세요. 서로 대체되는 설정 묶음마다 하나의 요금만 적용하세요.

설정요금표과금 단위요금
설정기본 토큰 요금요금표기본 요금과금 단위—요금
입력 · 입력 토큰 — / 1K 토큰
출력 · 출력 토큰 — / 1K 토큰
입력 · 캐시 읽기 — / 1K 토큰
입력 · 캐시 쓰기 — / 1K 토큰
입력 · 캐시 쓰기, 1시간 — / 1K 토큰
설정Ultra요금표—과금 단위/ 1K 오디오 토큰요금
입력 · 오디오 입력 토큰 $0.012 / 1K 오디오 토큰
설정Ultra요금표—과금 단위/ 1K 오디오 토큰요금
출력 · 오디오 출력 토큰 $0.02 / 1K 오디오 토큰

Ailoot는 요청 전에 예상 금액을 미리 확보합니다. 결과를 받은 뒤 측정된 사용량을 기준으로 최종 요금을 정산합니다. 스트리밍 정산에는 최종 사용량 기록을 사용합니다. 금액 확보와 정산 방식 →

요청 예제

Ailoot Ultra · 음성 인식

curl · 보관된 생성 요청 그대로
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_AUDIO_FILE:?Set the path to your actual MP3 recording}"
export AILOOT_AUDIO_FILE
python3 - <<'PY_REQUEST'
import os
from pathlib import Path
p=Path(os.environ["AILOOT_AUDIO_FILE"])
if not p.is_file() or p.suffix.lower()!=".mp3":raise SystemExit("Choose an existing MP3 recording")
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \
  -H "Authorization: Bearer $AILOOT_API_KEY" \
  --form-string model=openai/gpt-4o-transcribe-diarize -F "file=@$AILOOT_AUDIO_FILE" --form-string response_format=diarized_json \
  -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
print(json.dumps(json.loads(Path("result.json").read_text())))
PY_RESULT

결과 수신 및 저장

Ailoot Ultra · 음성 인식

json

  • GET /v1/media/tasks/{task_id}
  • GET /v1/media/assets/{asset_id}/content
  • GET /v1/media/assets
  • GET /v1/media/assets/{asset_id}
기타 콘텐츠 조회
반환된 내 소유 전사문 모두 저장미디어 라이브러리작업 상태자산 세부 정보
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_ASSETS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path('result.json').read_text())
urls=[]
if isinstance(r.get('asset_url'),str) and r['asset_url']:urls.append(('transcript',r['asset_url']))
for label,path in urls:
    u=urljoin('https://api.ailoot.ai',path);z=urlsplit(u)
    if z.scheme!='https' or z.netloc!='api.ailoot.ai' or z.username or z.password:raise SystemExit('Use the actual returned Ailoot owned content URL')
    target=Path('owned-'+label+'.bin')
    subprocess.run(['curl','--fail-with-body','--silent','--show-error',u,'-H','Authorization: Bearer '+os.environ['AILOOT_API_KEY'],'-D',str(target)+'.headers','-o',str(target)],check=True)
print('All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.')
PY_ASSETS
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 전체를 보존하세요. 사용 가능한 모든 구간/화자/타임스탬프와 실제 작업/자산 식별자를 유지하세요.

원래 응답을 확인해야 할 경우

다시 제출하지 말고 정산 대조를 위해 최초 operation_id/X-Client-Request-ID를 보관하세요. 전용 오디오 폴링 라우트는 없습니다.

응답 필드
필드유형
필드text유형string
필드segments[]유형object
필드task_id유형string
필드asset_url유형string
필드usage유형object
필드segments[].speaker유형string
필드segments[].start유형number
필드segments[].end유형number
오류와 다음 단계
응답조건다음 단계
응답400 · invalid_request_error조건필수 필드, 자료 표현 방식 또는 파라미터 값이 올바르지 않음다음 단계새 생성 요청 전에 표시된 필드를 수정하세요.
응답server_error조건반환된 응답에 작업 또는 결과 확인이 필요하다고 표시되어 있습니다다음 단계최초로 반환된 작업/태스크 ID, 요청 헤더와 응답을 보관하고, 지원되는 조회 방식으로 해당 최초 작업을 계속 조회하세요. 생성 요청을 다시 제출하지 마세요.

별칭

모델 별칭

Ailoot Ultra openai/gpt-4o-transcribe-diarize

메서드 경로 별칭

/audio/transcriptions

관련 호출용 ID

openai/gpt-4o-transcribe-diarize

FAQ · gpt-4o-transcribe-diarize
어떤 입력과 결과를 사용할 수 있나요?

POST /v1/audio/transcriptions · openai/gpt-4o-transcribe-diarize: audio → transcription

요청은 어떤 필드를 사용하나요?

POST /v1/audio/transcriptions · openai/gpt-4o-transcribe-diarize: model, file, response_format

자세히 보기

Claude Code, OpenCode, Hermes, 자체 앱에 Ailoot를 연결하세요.

회사와 그 프로젝트 포트폴리오

회사와 그 프로젝트 포트폴리오: 수백만 고객, 매월 수십억 규모의 매출.

할인받아 토큰을 구매하세요.

정기 작업에는 구독 할인, 토큰 구매에는 최대 50% 프로모션 코드.

구독
정기 요청에 맞는 할인 요금제를 선택하세요.
최대 50% 프로모션 코드
구매할 때 코드를 넣으면 진행 중 행사에 따라 가격을 다시 계산합니다.
이력의 지출
요청마다 모델, 토큰, 금액을 저장합니다.

구독 선택 · 모델 가격 보기

판매하는 제품에 API를 연결하세요.

Ailoot 공식 이용 조건과 라이선스 계약으로 SaaS, 앱, 봇에 사용하세요. 재판매에는 리셀러 라이선스를 요청하세요.

상업용 앱
서비스의 유료 기능에 텍스트, 이미지, 영상, 소리 생성을 넣으세요.
리셀러 라이선스
프로젝트 설명과 접근 구조를 보내 사용·재판매의 서면 조건을 요청하세요.
사이트의 문서
연결 전에 공식 이용 조건, 라이선스 계약, 데이터 처리 정책을 읽을 수 있습니다.

리셀러 라이선스 요청 · 공식 이용 조건과 라이선스 계약