이 워크플로를 사용하여 비디오에서 자막 파일을 생성하세요. Weydub에서는 두 가지 추출 경로를 지원합니다:
- OCR 추출: 비디오 프레임에 이미 표시된 하드코딩 자막.
- ASR 추출: 오디오 트랙의 음성 대화.
구축하기 전에 출력 품질을 확인하고 싶으신가요? 이에 해당하는 Weydub 웹 워크플로를 사용해 보세요: 자막 생성.
시간 기반 비디오 OCR, 장면 텍스트 필터링 및 자막에 적합한 ASR 분할에 대한 시스템 수준의 설명은 비디오 OCR 및 ASR을 활용한 AI 자막 생성을 참조하세요.
엔드포인트
POST /v-w-c/gateway/ve/work/free자막 추출은 비동기 방식으로 처리됩니다. body.idProject 및 body.dataList[].id을 저장한 다음, 폴링, 콜백, 재시도 동작 및 콜백 서명에는 비동기 작업 모델을 사용하세요.
액세스 및 제한
| 규칙 | 요구 사항 |
|---|---|
| 계정 액세스 | 핵심 비디오 API 액세스가 활성화되어 있어야 합니다. OCR/ASR 추출은 일반적으로 비디오 작업 제품군에 포함되지만, 계정 정책에 따라 배치 크기나 고급 옵션이 제한될 수 있습니다. |
| 소스 비디오 | 안정적인 공개 HTTPS URL을 사용하세요. 현재 비디오의 하드 제한은 파일당 15분 및 1000MB입니다. |
| 결제 | 비디오 워크플로는 30초 단위로 과금됩니다. 30초보다 짧은 클립은 30초로 계산됩니다. |
| 실패한 작업 | 최종적으로 processStatus > 1이면 크레딧이 차감되지 않습니다. |
| 보존 | 자막 파일과 렌더링된 자산에는 Weydub 웹 보존 규칙이 적용됩니다. 기본적으로 최근 30일간의 소스/렌더링 자산이 보존됩니다. 콜백 후 영구 보관용 사본을 다운로드하세요. |
OCR 또는 ASR 선택
| 모드 | 사용 조건 | 필요한 신호 | 일반적인 출력 |
|---|---|---|---|
| OCR 하드 자막 추출 | 자막이 이미지에 번인되어 있으며, 일반적으로 프레임 하단에 표시됩니다. | needChineseOcclude: 14, videoInpaintMasks, videoInpaintLang, lang. | srcSrtUrl, tgtSrtUrl. |
| ASR 음성 추출 | 오디오 트랙에 대화가 있고 시간 정보가 있는 전사본이 필요한 경우입니다. | needWanyin: 1, wyTaskType: "ONLY_ASR", wyNeedText: 0. | srcSrtUrl, tgtSrtUrl. |
음성만 있는 비디오를 전사하는 데 OCR을 사용하지 마세요. 무음 하드코딩 자막을 읽는 데 ASR을 사용하지 마세요.
OCR 자막 추출 페이로드
자막이 비디오 이미지에 이미 삽입되어 있으면 OCR 방식을 사용하세요.
{
"urls": ["https://example.com/video.mp4"],
"needChineseOcclude": 14,
"videoInpaintLang": "en",
"lang": "en",
"videoInpaintMasks": "[{\"type\":\"trans_only_ocr\",\"region\":[[0,0.8],[1,0.8],[1,1],[0,1]]}]",
"extraOptions": "{\"extra_inpaint_config\":{\"auto_correct_on\":false,\"strip_last_punct_on\":true,\"scene_filter_on\":false}}",
"callback": "https://your-domain.example/webhooks/weydub"
}참고 사항:
needChineseOcclude값은14이어야 합니다.videoInpaintMasks필드는 OCR 추출에 필요하며, 서명하기 전에 간결한 JSON 문자열이어야 합니다.type값은trans_only_ocr이어야 합니다.- 번역이 필요하지 않으면
lang값을videoInpaintLang과 동일하게 설정하세요. - 좌표는
0에서1까지 정규화되며, 왼쪽 위, 오른쪽 위, 오른쪽 아래, 왼쪽 아래 순으로 배열됩니다.
OCR 마스크
화면에 표시되는 자막 영역을 알고 있는 경우 하나 이상의 마스크를 사용하세요. 시간 범위가 지정된 마스크를 사용하면 일시적인 줄거리 힌트나 등록 텍스트가 대화로 추출되는 것을 방지할 수 있습니다.
| 필드 | 유형 | 필수 | 설명 |
|---|---|---|---|
type | 문자열 | 예 | OCR 자막 추출에는 trans_only_ocr을 사용합니다. |
region | 배열 | 예 | 정규화된 네 개의 점: [[x1,y1],[x2,y2],[x3,y3],[x4,y4]]. |
start | 숫자 | 아니요 | 시작 시간(초). 마스크를 처음부터 적용하는 경우 생략하거나 0을 사용합니다. |
end | 숫자 | 아니요 | 종료 시간(초). 마스크를 도입부에만 적용할 때 유용합니다. |
to_end | 숫자 | 아니요 | 비디오 종료까지 남은 시간(초). 알고 있다면 명시적 end 사용을 권장합니다. |
일반적인 영역:
| 시나리오 | 영역 |
|---|---|
| 세로형 16:9 자막 대역 | [[0,0.56],[1,0.56],[1,0.76],[0,0.76]] |
| 가로형 표준 자막 영역 | [[0,0.8],[1,0.8],[1,1],[0,1]] |
| 사용자 지정 하단 대역 | [[0,0.7],[1,0.7],[1,0.95],[0,0.95]] |
OCR 옵션
extraOptions.extra_inpaint_config로 OCR 정리를 조정할 수 있습니다:
| 옵션 | 유형 | 설명 |
|---|---|---|
auto_correct_on | 부울 | 인식된 자막 텍스트를 자동으로 수정할지 여부입니다. |
strip_last_punct_on | 부울 | 각 자막 줄 끝의 문장 부호를 제거할지 여부입니다. |
scene_filter_on | 부울 | 대화가 아닌 장면 텍스트를 필터링할지 여부입니다. 화면에 표시되는 모든 자막 텍스트를 추출하려는 경우 영어 및 기타 비-CJK 자막 추출에서는 이 옵션을 비활성화하는 경우가 많습니다. |
계정 계약에 달리 명시되어 있지 않다면 공개 API 페이로드에서 extraOptions 값은 간결한 JSON 문자열로 유지하세요.
ASR 자막 추출 페이로드
비디오에 음성이 있고 시간 정보가 있는 전사본이 필요한 경우 ASR 방식을 사용하세요.
{
"urls": ["https://example.com/video.mp4"],
"needWanyin": 1,
"sourceLang": "en",
"lang": "en",
"wyTaskType": "ONLY_ASR",
"needWyEdit": 0,
"wyNeedText": 0,
"extraOptions": "{\"asr_speaker_detect_on\":true,\"extra_video_translate_config\":{\"remove_last_punct_on\":true}}",
"callback": "https://your-domain.example/webhooks/weydub"
}참고 사항:
wyTaskType값은ONLY_ASR이어야 합니다.wyNeedText: 0은 자막을 새 비디오에 렌더링하지 않음을 의미합니다.needWyEdit: 0은 이 추출 작업에서 수동 편집/프로 초안 동작을 비활성화합니다.sourceLang은 음성 언어입니다.lang은 자막 출력 언어이며, 번역이 필요하지 않으면 동일한 코드를 사용하세요.
ASR 옵션
| 옵션 | 유형 | 설명 |
|---|---|---|
asr_speaker_detect_on | 부울 | 지원되는 경우 화자 감지를 활성화합니다. 여러 화자가 참여하는 대화에 유용합니다. |
extra_video_translate_config.remove_last_punct_on | 부울 | 생성된 자막 줄 끝의 문장 부호를 제거합니다. |
매개변수
| 매개변수 | OCR | ASR | 설명 |
|---|---|---|---|
urls | 필수 | 필수 | 공개 비디오 URL입니다. 프로덕션에서는 안정적인 HTTPS URL을 사용하세요. |
needChineseOcclude | 14 | 사용 안 함 | OCR 자막 추출 모드입니다. |
videoInpaintLang | 필수 | 사용 안 함 | 화면에 표시되는 자막 텍스트의 언어입니다. |
videoInpaintMasks | 필수 | 사용 안 함 | OCR 영역을 설명하는 간결한 JSON 문자열입니다. |
extraOptions | 선택 사항 | 선택 사항 | OCR 정리 또는 ASR 옵션을 위한 간결한 JSON 문자열입니다. |
needWanyin | 사용 안 함 | 1 | ASR 음성 처리를 활성화합니다. |
sourceLang | 선택 사항 | 필수 | 음성/원본 언어입니다. |
lang | 필수 | 필수 | 출력 자막 언어입니다. 번역이 필요하지 않으면 원본 언어와 동일한 값을 사용하세요. |
wyTaskType | 사용 안 함 | ONLY_ASR | ASR 전용 작업 유형입니다. |
needWyEdit | 사용 안 함 | 0 | 추출 시 수동 편집/프로 초안 흐름을 비활성화합니다. |
wyNeedText | 사용 안 함 | 0 | 자막을 새 비디오에 렌더링하지 않습니다. |
callback | 선택 사항 | 선택 사항 | 비동기 완료 알림을 위한 웹훅 URL입니다. |
uid | 선택 사항 | 선택 사항 | 계정에서 하위 사용자 추적을 사용하는 경우 해당 사용자/고객 식별자입니다. |
출력
성공한 추출 작업에서는 다음 항목이 반환될 수 있습니다:
srcSrtUrltgtSrtUrlprocessStatusprocessProgresspaidPoint- 반환된 작업 항목 내의 작업 메타데이터
OCR 및 ASR 추출에서는 새 비디오를 렌더링할 필요가 없습니다. srcSrtUrl 또는 tgtSrtUrl을 읽기 전에 processStatus === 1이 될 때까지 폴링하세요.
콜백은 폴링 응답에 사용되는 외부 code / msg / body 래퍼 없이 작업 항목 페이로드를 직접 전송합니다.
에이전트 참고 사항
- 영상에 번인된 자막 텍스트에는 OCR을 선택하고, 음성 대화에는 ASR을 선택하세요.
- 서명하기 전에
videoInpaintMasks및extraOptions을 간결한 형식으로 유지하고 문자열화하세요. - 계정 계약에 그렇게 명시되어 있지 않은 한 OCR 마스크 배열을 네이티브 배열로 전송하지 마세요.
- enum 쿼리(
POST /v-w-c/enum/query2)를 사용하여 현재sourceLang및Lang지원 정보를 가져오세요. 이 enum 엔드포인트에는 서명이 필요하지 않습니다. srcSrtUrl또는tgtSrtUrl을 읽기 전에processStatus이1이 될 때까지 폴링하세요.- 보존 데이터 정리 전에 자막 파일을 저장하세요.