forked from 77media/video-flow
66 lines
1.6 KiB
TypeScript
66 lines
1.6 KiB
TypeScript
import { ApiResponse } from "./common";
|
||
import { CreateMovieProjectV2Request, CreateMovieProjectResponse, MovieStartDTO } from "./DTO/movie_start_dto";
|
||
import { get, post } from "./request";
|
||
import {
|
||
StoryTemplateEntity,
|
||
ImageStoryEntity,
|
||
} from "@/app/service/domain/Entities";
|
||
|
||
/**
|
||
* 获取故事模板列表
|
||
*/
|
||
export const getTemplateStoryList = async () => {
|
||
return await get<ApiResponse<StoryTemplateEntity[]>>("/template-story/list");
|
||
};
|
||
|
||
/**
|
||
* 执行故事模板操作,生成电影项目
|
||
*/
|
||
export const actionTemplateStory = async (template: StoryTemplateEntity) => {
|
||
return await post<ApiResponse<{ projectId: string }>>(
|
||
"/template-story/action",
|
||
template
|
||
);
|
||
};
|
||
|
||
/**
|
||
* AI分析图片,生成分析结果
|
||
*/
|
||
export const AIGenerateImageStory = async (request: {
|
||
image_url: string;
|
||
user_text: string;
|
||
}) => {
|
||
return await post<ApiResponse<MovieStartDTO>>(
|
||
"/movie_story/generate",
|
||
request
|
||
);
|
||
};
|
||
|
||
/**
|
||
* 创建电影项目V2
|
||
* @param request - 创建项目请求参数
|
||
* @returns Promise<ApiResponse<CreateMovieProjectResponse>>
|
||
*/
|
||
export const createMovieProjectV2 = async (
|
||
request: CreateMovieProjectV2Request
|
||
) => {
|
||
return post<ApiResponse<CreateMovieProjectResponse>>(
|
||
"/movie/create_movie_project_v2",
|
||
request
|
||
);
|
||
};
|
||
|
||
/**
|
||
* 创建电影项目V3
|
||
* @param request - 创建项目请求参数
|
||
* @returns Promise<ApiResponse<CreateMovieProjectResponse>>
|
||
*/
|
||
export const createMovieProjectV3 = async (
|
||
request: CreateMovieProjectV2Request
|
||
) => {
|
||
return post<ApiResponse<CreateMovieProjectResponse>>(
|
||
"/movie/create_movie_project_v3",
|
||
request
|
||
);
|
||
};
|