Merge branch '108' of https://github.com/HBAI-Ltd/Toonflow-app into 108
This commit is contained in:
commit
091a96476b
@ -111,7 +111,6 @@ export default router.post(
|
|||||||
请根据以下参数生成${config.label}提示词:
|
请根据以下参数生成${config.label}提示词:
|
||||||
|
|
||||||
**基础参数:**
|
**基础参数:**
|
||||||
- 风格: ${project?.artStyle || "未指定"}
|
|
||||||
- 小说类型: ${project?.type || "未指定"}
|
- 小说类型: ${project?.type || "未指定"}
|
||||||
- 小说背景: ${project?.intro || "未指定"}
|
- 小说背景: ${project?.intro || "未指定"}
|
||||||
|
|
||||||
|
|||||||
@ -5,7 +5,6 @@ import { success } from "@/lib/responseFormat";
|
|||||||
import { validateFields } from "@/middleware/middleware";
|
import { validateFields } from "@/middleware/middleware";
|
||||||
const router = express.Router();
|
const router = express.Router();
|
||||||
import compressing from "compressing";
|
import compressing from "compressing";
|
||||||
import { flowDataSchema } from "@/agents/productionAgent/tools";
|
|
||||||
import path from "path";
|
import path from "path";
|
||||||
import getPath from "@/utils/getPath";
|
import getPath from "@/utils/getPath";
|
||||||
|
|
||||||
|
|||||||
@ -102,6 +102,7 @@ export default router.post(
|
|||||||
3. 视频风格应与用户指定的模式数据相匹配,包括色彩、音乐、特效等元素。
|
3. 视频风格应与用户指定的模式数据相匹配,包括色彩、音乐、特效等元素。
|
||||||
4. 视频中应包含用户提供的图片,并在视频中适当展示,以增强视频的视觉效果。
|
4. 视频中应包含用户提供的图片,并在视频中适当展示,以增强视频的视觉效果。
|
||||||
5. 如果用户指定了音频,请确保视频中的音频与视频内容相匹配,符合用户的创意意图。`;
|
5. 如果用户指定了音频,请确保视频中的音频与视频内容相匹配,符合用户的创意意图。`;
|
||||||
|
console.log("%c Line:110 🍑 prompt", "background:#b03734", prompt);
|
||||||
|
|
||||||
const aiVideo = u.Ai.Video(model);
|
const aiVideo = u.Ai.Video(model);
|
||||||
await aiVideo.run({
|
await aiVideo.run({
|
||||||
|
|||||||
@ -3,24 +3,23 @@ import u from "@/utils";
|
|||||||
import { z } from "zod";
|
import { z } from "zod";
|
||||||
import { success } from "@/lib/responseFormat";
|
import { success } from "@/lib/responseFormat";
|
||||||
import { validateFields } from "@/middleware/middleware";
|
import { validateFields } from "@/middleware/middleware";
|
||||||
import { Output } from "ai";
|
|
||||||
const router = express.Router();
|
const router = express.Router();
|
||||||
|
|
||||||
export default router.post(
|
export default router.post(
|
||||||
"/",
|
"/",
|
||||||
validateFields({
|
validateFields({
|
||||||
projectId: z.number(),
|
projectId: z.number(),
|
||||||
storyboardId: z.array(z.number()),
|
storyboardIds: z.array(z.number()),
|
||||||
}),
|
}),
|
||||||
async (req, res) => {
|
async (req, res) => {
|
||||||
const { projectId, storyboardId } = req.body;
|
const { projectId, storyboardIds } = req.body;
|
||||||
// 查询分镜及其关联的资产提示词
|
// 查询分镜及其关联的资产提示词
|
||||||
const data = await u
|
const data = await u
|
||||||
.db("o_storyboard")
|
.db("o_storyboard")
|
||||||
.leftJoin("o_assets2Storyboard", "o_storyboard.id", "o_assets2Storyboard.storyboardId")
|
.leftJoin("o_assets2Storyboard", "o_storyboard.id", "o_assets2Storyboard.storyboardId")
|
||||||
.leftJoin("o_assets", "o_assets2Storyboard.assetId", "o_assets.id")
|
.leftJoin("o_assets", "o_assets2Storyboard.assetId", "o_assets.id")
|
||||||
.leftJoin("o_videoConfig", "o_storyboard.id", "o_videoConfig.storyboardId")
|
.leftJoin("o_videoConfig", "o_storyboard.id", "o_videoConfig.storyboardId")
|
||||||
.whereIn("o_storyboard.id", storyboardId)
|
.whereIn("o_storyboard.id", storyboardIds)
|
||||||
.select("o_storyboard.id", "o_storyboard.prompt", "o_assets.prompt as assetPrompt", "o_videoConfig.model as videoModel");
|
.select("o_storyboard.id", "o_storyboard.prompt", "o_assets.prompt as assetPrompt", "o_videoConfig.model as videoModel");
|
||||||
|
|
||||||
// 按分镜id分组,聚合资产提示词
|
// 按分镜id分组,聚合资产提示词
|
||||||
@ -44,7 +43,7 @@ export default router.post(
|
|||||||
const videoModel = await u.db("o_project").where("id", projectId).select("videoModel").first();
|
const videoModel = await u.db("o_project").where("id", projectId).select("videoModel").first();
|
||||||
model = videoModel?.videoModel || "";
|
model = videoModel?.videoModel || "";
|
||||||
}
|
}
|
||||||
if (!model) return res.status(400).json({ error: "未找到视频模型,请检查项目配置" });
|
if (!model) continue; //分镜没有指定视频模型,且项目也没有默认视频模型,跳过生成提示词
|
||||||
const systemPrompt = `你是一个专业的${model}视频生成助手。请根据分镜提示词和关联资产提示词,生成一段完整的、可直接用于视频生成模型的中文提示词。`;
|
const systemPrompt = `你是一个专业的${model}视频生成助手。请根据分镜提示词和关联资产提示词,生成一段完整的、可直接用于视频生成模型的中文提示词。`;
|
||||||
const userContent = `分镜提示词:${prompt || "无"}\n资产提示词:${assetPrompts.length > 0 ? assetPrompts.join("\n") : "无"}`;
|
const userContent = `分镜提示词:${prompt || "无"}\n资产提示词:${assetPrompts.length > 0 ? assetPrompts.join("\n") : "无"}`;
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user