VocalStack 로고VocalStack 로고
PAYLOAD CMS용 VOCALSTACK

콘텐츠가 되는 전사본

Payload의 모든 오디오 업로드에 전사 버튼이 생깁니다. 전사본은 편집 가능한 텍스트와 시간 정보가 있는 문장으로 문서에 저장되므로 프런트엔드, 검색, API가 다른 필드처럼 읽습니다.

PAYLOAD 3 · NEXT.JS 15+ · 오디오 1시간당 $0.20부터
미디어 · EPISODE-042.MP3사이드바
전사 중31:06 / 48:20
json
{
  "vocalstack": {
    "status": "done",
    "language": "en",
    "transcript": "Welcome back to the show. Today…",
    "sentences": [
      { "start": 0.4, "end": 2.9, "speaker": 0,
        "text": "Welcome back to the show." }
    ]
  }
}

그냥 또 하나의 필드

전사본과 시간 정보가 있는 문장이 문서에 저장되므로 Local API, REST, GraphQL이 다른 모든 데이터와 함께 반환합니다.

눈에 보이는 진행 상황

버튼에 오디오 처리 진행률이 표시되며 새로고침해도 유지됩니다. 중지를 누르면 문서가 원래대로 돌아갑니다.

편집자가 주도합니다

전사본은 편집자가 고칠 수 있는 일반 텍스트입니다. 화자가 바뀌거나 말이 멈추는 곳에서 문단이 나뉩니다.

키는 서버에 머뭅니다

연결된 API 키는 서버 측에 저장되며 REST나 GraphQL API로 읽을 수 없습니다.

설치

플러그인 하나, 코드 한 줄

payload.config.ts에 플러그인을 추가하세요. 오디오를 허용하는 모든 업로드 컬렉션에 버튼이 생기며, 선택하려면 collections를 전달하세요. 키를 생략하면 편집자가 대신 설정 → VocalStack에서 계정을 연결합니다.

01GitHub에서 플러그인을 설치하고 설정에 추가합니다.
02payload generate:importmap을 실행합니다. Postgres를 쓴다면 payload migrate:create도 실행합니다.
03오디오 업로드를 열고 전사를 클릭합니다.
bash
pnpm add github:vocalstack/payload-plugin
typescript
// payload.config.ts
import { vocalstackPlugin } from '@vocalstack/payload'

export default buildConfig({
  plugins: [
    vocalstackPlugin({
      // Optional: or connect from Settings → VocalStack
      apiKey: process.env.VOCALSTACK_API_KEY,
    }),
  ],
})
옵션

구축한 방식 그대로

합리적인 기본값, 그리고 설정이 다른 모든 곳을 위한 훅.

collections

전사 버튼을 받을 업로드 컬렉션. 기본적으로 오디오를 허용하는 모든 컬렉션입니다.

audioFields

파일 이름이나 링크로 오디오를 가리키는 가져온 콘텐츠. 배열 필드의 각 행이 고유한 버튼과 전사본을 받습니다.

spokenLanguage

오디오에서 사용되는 언어. 생략하면 자동으로 감지합니다.

fileURL

VocalStack이 오디오를 가져오는 주소. 버킷을 가리키게 하면 Payload 파일 프록시를 거치지 않습니다.

access

전사하고 연결을 변경할 수 있는 사람. 기본적으로 문서를 수정할 수 있는 로그인한 사용자입니다.

요금

플러그인 요금 없음

전사한 오디오에 대해서만 대시보드 및 API와 같은 요금으로 VocalStack에 지불합니다. 초 단위로 청구되며, 전사당 최소 청구 시간은 5분입니다.

파일$0.20/시간

전사하는 모든 오디오 업로드와 배열 행. 화자, 구두점, 타이밍 포함.

자주 묻는 질문

GitHub에서 보기README 읽기