video_translate/src/server/subtitleRequest.ts
Song367 a0c1dc6ad5
All checks were successful
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 27s
文件上传
2026-03-19 11:17:10 +08:00

29 lines
704 B
TypeScript

import { LlmProvider, normalizeLlmProvider } from './llmProvider';
export interface SubtitleRequestBody {
provider?: string | null;
targetLanguage?: string | null;
fileId?: string | null;
}
export interface ParsedSubtitleRequest {
provider: LlmProvider;
targetLanguage: string;
fileId?: string;
}
export const parseSubtitleRequest = (
body: SubtitleRequestBody,
): ParsedSubtitleRequest => {
const targetLanguage = body.targetLanguage?.trim();
if (!targetLanguage) {
throw new Error('Target language is required.');
}
return {
provider: normalizeLlmProvider(body.provider),
targetLanguage,
...(body.fileId?.trim() ? { fileId: body.fileId.trim() } : {}),
};
};