Rev.ai 프로바이더

Rev.ai 프로바이더

Rev.ai의 음성 인식(transcription) API를 AI SDK에서 쓸 수 있게 해주는 프로바이더예요.

출처: 문서

본문

Rev.ai 프로바이더는 Rev.ai 전사 API에 대한 언어 모델 지원을 제공해요.

설정 (Setup)

Rev.ai 프로바이더는 @ai-sdk/revai 모듈에서 사용할 수 있어요. 다음과 같이 설치할 수 있어요:

프로바이더 인스턴스 (Provider Instance)

@ai-sdk/revai에서 기본 프로바이더 인스턴스 revai를 불러올 수 있어요:

import { revai } from '@ai-sdk/revai';

커스터마이즈가 필요하다면 @ai-sdk/revai에서 createRevai를 불러와 원하는 설정으로 프로바이더 인스턴스를 만들 수 있어요:

import { createRevai } from '@ai-sdk/revai';

const revai = createRevai({
  // custom settings, e.g.
  fetch: customFetch,
});

Rev.ai 프로바이더 인스턴스를 커스터마이즈할 때 사용할 수 있는 선택적 설정은 다음과 같아요:

  • apiKey string

    Authorization 헤더로 보내는 API 키예요. 기본값은 REVAI_API_KEY 환경 변수예요.

  • headers Record<string,string>

    요청에 포함할 커스텀 헤더예요.

  • fetch (input: RequestInfo, init?: RequestInit) => Promise<Response>

    커스텀 fetch 구현이에요. 기본값은 전역 fetch 함수예요. 요청을 가로채는 미들웨어로 쓸 수도 있고, 예를 들어 테스트용으로 커스텀 fetch 구현을 제공할 수도 있어요.

음성 인식 모델 (Transcription Models)

.transcription() 팩토리 메서드로 Rev.ai 전사 API를 호출하는 모델을 만들 수 있어요.

첫 번째 인자는 모델 id예요. 예: machine.

const model = revai.transcription('machine');

providerOptions 인자로 프로바이더별 추가 옵션을 전달할 수도 있어요. 예를 들어 입력 언어를 ISO-639-1(예: en) 형식으로 미리 알려주면 음성 인식 성능이 향상될 때가 있어요.

import { transcribe } from 'ai';
import { revai } from '@ai-sdk/revai';
import { type RevaiTranscriptionModelOptions } from '@ai-sdk/revai';
import { readFile } from 'fs/promises';

const result = await transcribe({
  model: revai.transcription('machine'),
  audio: await readFile('audio.mp3'),
  providerOptions: {
    revai: { language: 'en' } satisfies RevaiTranscriptionModelOptions,
  },
});

다음 프로바이더 옵션을 사용할 수 있어요:

  • metadata string

    전사 작업과 연결할 선택적 메타데이터 문자열이에요.

  • notification_config object

    작업 완료 시 웹훅 알림 구성이에요.

    • url string - 알림을 보낼 URL이에요.
    • auth_headers object - 알림 요청을 위한 선택적 인증 헤더예요.
      • Authorization string - Authorization 헤더 값이에요.
  • delete_after_seconds integer

    설정 후 작업이 자동 삭제되는 초 수예요.

  • verbatim boolean

    전사에 필러 단어와 잘못된 시작(false starts)을 포함할지 여부예요.

  • rush boolean

    [HIPAA 미지원] 더 빠른 처리를 위해 작업을 우선 순위화할지 여부예요. 인간 전사자 옵션에서만 사용할 수 있어요.

  • test_mode boolean

    작업을 테스트 모드로 실행할지 여부예요. 기본값은 false.

  • segments_to_transcribe Array

    전사할 오디오의 특정 세그먼트예요.

    • start number - 세그먼트의 시작 시간(초).
    • end number - 세그먼트의 종료 시간(초).
  • speaker_names Array

    전사에서 화자에게 할당할 이름이에요.

    • display_name string - 화자의 표시 이름이에요.
  • skip_diarization boolean

    화자 분리(speaker diarization)를 건너뛸지 여부예요. 기본값은 false.

  • skip_postprocessing boolean

    후처리 단계를 건너뛸지 여부예요. 영어와 스페인어에서만 사용할 수 있어요. 기본값은 false.

  • skip_punctuation boolean

    전사에 구두점 추가를 건너뛸지 여부예요. 기본값은 false.

  • remove_disfluencies boolean

    전사에서 불유창성(disfluencies, um, uh 등)을 제거할지 여부예요. 기본값은 false.

  • remove_atmospherics boolean

    전사에서 분위기 사운드(예: <laugh>, <affirmative>)를 제거할지 여부예요. 기본값은 false.

  • filter_profanity boolean

    첫 글자와 마지막 글자를 제외한 문자를 별표로 교체해 전사에서 욕설을 필터링할지 여부예요. 기본값은 false.

  • speaker_channels_count integer

    오디오의 화자 채널 수예요. 영어, 스페인어, 프랑스어에서만 사용할 수 있어요.

  • speakers_count integer

    오디오의 예상 화자 수예요. 영어, 스페인어, 프랑스어에서만 사용할 수 있어요.

  • diarization_type string

    사용할 화자 분리 유형이에요. 가능한 값: "standard"(기본), "premium".

  • custom_vocabulary_id string

    Custom Vocabularies API를 통해 제출된, 전사에 사용할 커스텀 어휘 ID예요.

  • custom_vocabularies Array

    전사에 사용할 커스텀 어휘예요.

  • strict_custom_vocabulary boolean

    커스텀 어휘를 엄격하게 적용할지 여부예요.

  • summarization_config object

    전사 요약 생성 구성이에요.

    • model string - 요약에 사용할 모델. 가능한 값: "standard"(기본), "premium".
    • type string - 요약 형식. 가능한 값: "paragraph"(기본), "bullets".
    • prompt string - 요약을 위한 커스텀 프롬프트 (type과 상호 배타적).
  • translation_config object

    전사 번역 구성이에요.

    • target_languages Array - 번역 대상 언어. 각 항목은 다음과 같은 객체:
      • language string - 언어 코드. 가능한 값: "en", "en-us", "en-gb", "ar", "pt", "pt-br", "pt-pt", "fr", "fr-ca", "es", "es-es", "es-la", "it", "ja", "ko", "de", "ru".
    • model string - 번역에 사용할 모델. 가능한 값: "standard"(기본), "premium".
  • language string

    ISO 639-1 언어 코드로 제공되는 오디오 콘텐츠의 언어예요. 기본값은 "en".

  • forced_alignment boolean

    단어별 타임스탬프에 개선된 정확도를 제공하는 강제 정렬(forced alignment)을 수행할지 여부예요. 기본값은 false.

    현재 지원되는 언어:

    • 영어 (en, en-us, en-gb)
    • 프랑스어 (fr)
    • 이탈리아어 (it)
    • 독일어 (de)
    • 스페인어 (es)

    참고: 이 옵션은 저비용 환경에서는 사용할 수 없어요.

모델 기능 (Model Capabilities)

모델 음성 인식 지속 시간 세그먼트 언어
machine
low_cost
fusion

더 알아보기 (Learn more)

전체 사이트맵