ACT丶流星雨 0798ae03ee no message
2026-01-29 18:28:32 +08:00

47 lines
1.2 KiB
TypeScript

import express from "express";
import u from "@/utils";
import { success } from "@/lib/responseFormat";
import { validateFields } from "@/middleware/middleware";
import { z } from "zod";
import { v4 as uuid } from "uuid";
const router = express.Router();
// 新增视频
export default router.post(
"/",
validateFields({
scriptId: z.number(),
type: z.string(),
resolution: z.string(),
filePath: z.array(z.string()),
duration: z.number(),
prompt: z.string(),
}),
async (req, res) => {
const { scriptId, type, resolution, filePath, duration, prompt } = req.body;
let model = "";
if (type.includes("doubao")) {
model = "doubao-seedance-1-5-pro-251215";
}
if (type.includes("sora")) {
model = "sora-2";
}
let firstFrame = new URL(filePath[0]).pathname;
let storyboardImgs = filePath.map((path: string) => new URL(path).pathname);
await u.db("t_video").insert({
time: duration,
resolution: resolution,
prompt: prompt,
model: type,
firstFrame: firstFrame,
storyboardImgs: JSON.stringify(storyboardImgs),
scriptId: scriptId,
});
res.status(200).send(success({ message: "新增视频成功" }));
}
);