处理文生和图生提示词

This commit is contained in:
Xin Wang 2025-07-01 18:12:59 +08:00
parent 2b4208fb41
commit 6d94867eab
3 changed files with 53 additions and 23 deletions

View File

@ -3,7 +3,7 @@ import { BASE_URL } from './constants'
// 创建 axios 实例 // 创建 axios 实例
const request: AxiosInstance = axios.create({ const request: AxiosInstance = axios.create({
baseURL: BASE_URL, // 设置基础URL baseURL: BASE_URL, // 设置基础URL
timeout: 10000, // 请求超时时间 timeout: 300000, // 请求超时时间
headers: { headers: {
'Content-Type': 'application/json', 'Content-Type': 'application/json',
}, },

View File

@ -37,7 +37,7 @@ export type ConvertScenePromptResponse = ApiResponse<ConvertScenePromptData>;
export const convertScenePrompt = async ( export const convertScenePrompt = async (
request: ConvertScenePromptRequest request: ConvertScenePromptRequest
): Promise<ConvertScenePromptResponse> => { ): Promise<ConvertScenePromptResponse> => {
return post<ConvertScenePromptResponse>('/video_flow/convert-scene-prompt', request); return post<ConvertScenePromptResponse>('/video_flow/convert-scene-prompts', request);
}; };
/** /**

View File

@ -20,6 +20,7 @@ import { ProjectTypeEnum, ModeEnum, ResolutionEnum } from "@/api/enums";
import { createScriptProject, CreateScriptProjectRequest } from "@/api/script_project"; import { createScriptProject, CreateScriptProjectRequest } from "@/api/script_project";
import { createScriptEpisode, CreateScriptEpisodeRequest } from "@/api/script_episode"; import { createScriptEpisode, CreateScriptEpisodeRequest } from "@/api/script_episode";
import { getUploadTokenWithDomain, uploadToQiniu } from "@/api/common"; import { getUploadTokenWithDomain, uploadToQiniu } from "@/api/common";
import { convertScriptToScene, convertVideoToScene } from "@/api/video_flow";
const JoyrideNoSSR = dynamic(() => import('react-joyride'), { const JoyrideNoSSR = dynamic(() => import('react-joyride'), {
ssr: false, ssr: false,
@ -104,38 +105,67 @@ export function CreateToVideo2() {
const handleCreateVideo = async () => { const handleCreateVideo = async () => {
if (videoUrl || inputText) { if (videoUrl || inputText) {
try { try {
// 确定项目类型 let convertResponse;
const projectType = activeTab === 'script' ? ProjectTypeEnum.SCRIPT_TO_VIDEO : ProjectTypeEnum.VIDEO_TO_VIDEO;
// 构建项目数据并调用API // 根据选中的选项卡调用相应的API
const projectData: CreateScriptProjectRequest = { if (activeTab === 'script') {
project_type: projectType, // 剧本模式调用convertScriptToScene (第43-56行)
mode: selectedMode, if (!inputText.trim()) {
resolution: selectedResolution alert('请输入剧本内容');
}; return;
}
convertResponse = await convertScriptToScene(inputText);
} else {
// 视频模式调用convertVideoToScene (第56-69行)
if (!videoUrl) {
alert('请先上传视频');
return;
}
convertResponse = await convertVideoToScene(videoUrl);
}
const projectResponse = await createScriptProject(projectData); // 检查转换结果
if (convertResponse.code === 0) {
console.log('转换成功:', convertResponse.data);
console.log('任务ID:', convertResponse.data.task_id);
console.log('预估时间:', convertResponse.data.estimated_time, '秒');
if (projectResponse.code === 0 && projectResponse.data.id) { // 确定项目类型
const projectId = projectResponse.data.id; const projectType = activeTab === 'script' ? ProjectTypeEnum.SCRIPT_TO_VIDEO : ProjectTypeEnum.VIDEO_TO_VIDEO;
// 创建剧集数据 // 构建项目数据并调用API
const episodeData: CreateScriptEpisodeRequest = { const projectData: CreateScriptProjectRequest = {
project_type: projectType,
mode: selectedMode,
resolution: selectedResolution
}; };
// 调用创建剧集API const projectResponse = await createScriptProject(projectData);
const episodeResponse = await createScriptEpisode(episodeData);
if (episodeResponse.code === 0) { if (projectResponse.code === 0 && projectResponse.data.id) {
// 成功创建后跳转到work-flow页面 const projectId = projectResponse.data.id;
router.push('/create/work-flow');
// 创建剧集数据
const episodeData: CreateScriptEpisodeRequest = {
};
// 调用创建剧集API
const episodeResponse = await createScriptEpisode(episodeData);
if (episodeResponse.code === 0) {
// 成功创建后跳转到work-flow页面
router.push('/create/work-flow');
} else {
alert(`创建剧集失败: ${episodeResponse.msg}`);
}
} else { } else {
alert(`创建剧集失败: ${episodeResponse.msg}`); alert(`创建项目失败: ${projectResponse.msg}`);
} }
} else { } else {
alert(`创建项目失败: ${projectResponse.msg}`); alert(`转换失败: ${convertResponse.msg}`);
} }
} catch (error) { } catch (error) {
console.error('创建过程出错:', error);
alert("创建项目时发生错误,请稍后重试"); alert("创建项目时发生错误,请稍后重试");
} }
} }