feat: add synopsis generation endpoint and frontend integration

This commit is contained in:
2026-03-13 11:42:30 +08:00
parent 35bf7a302a
commit 6eb521dee4
5 changed files with 360 additions and 52 deletions

View File

@@ -1,5 +1,15 @@
import apiClient from '@/lib/api'
export interface SynopsisGenerationRequest {
genre: string
subgenre?: string
protagonist_type?: string
tone?: string
conflict_scale?: string
num_characters?: number
num_chapters?: number
}
export interface ScriptGenerationRequest {
title: string
genre: string
@@ -69,6 +79,11 @@ export interface LLMConfig {
}
export const audiobookApi = {
generateSynopsis: async (data: SynopsisGenerationRequest): Promise<string> => {
const response = await apiClient.post<{ synopsis: string }>('/audiobook/projects/generate-synopsis', data)
return response.data.synopsis
},
createAIScript: async (data: ScriptGenerationRequest): Promise<AudiobookProject> => {
const response = await apiClient.post<AudiobookProject>('/audiobook/projects/generate-script', data)
return response.data