大量修改二期功能清单内容
This commit is contained in:
@@ -44,6 +44,7 @@ import type {
|
||||
UserPreference,
|
||||
VoiceoverInfo
|
||||
} from "./types";
|
||||
import type { PresentationFormat, VideoStructure } from "./script-setup";
|
||||
|
||||
const API_BASE = import.meta.env.VITE_API_BASE_URL || "";
|
||||
const TOKEN_KEY = "airshelf_token";
|
||||
@@ -326,6 +327,21 @@ export const api = {
|
||||
purgeProject(id: string) {
|
||||
return request<void>(`/api/projects/${id}/purge/`, { method: "DELETE" });
|
||||
},
|
||||
// 上传脚本(docx)取正文:docx 是 zip,交后端拆,前端不引解析库。txt 前端自己 file.text() 即可。
|
||||
extractScriptFile(projectId: string, formData: FormData) {
|
||||
return request<{ name: string; chars: number; text: string }>(
|
||||
`/api/projects/${projectId}/extract-script-file/`,
|
||||
{ method: "POST", body: formData }
|
||||
);
|
||||
},
|
||||
// 1.11 上传视频提炼:后端抽帧 → 多模态读帧 → 中文分镜稿。与上传脚本同形状(只回文本不落库),
|
||||
// 差别是真调模型,慢(整条 30~60 秒)且计一次费,故前端要给等待反馈。
|
||||
extractScriptVideo(projectId: string, formData: FormData) {
|
||||
return request<{ name: string; chars: number; text: string; frames: number; duration: number }>(
|
||||
`/api/projects/${projectId}/extract-script-video/`,
|
||||
{ method: "POST", body: formData }
|
||||
);
|
||||
},
|
||||
// 对话式脚本 agent · 流式(SSE)。逐帧回调 onEvent:tool(工具卡)/delta(思考前言)/draft/saved/done/error。
|
||||
// 用 fetch + ReadableStream 消费 text/event-stream(EventSource 只支持 GET,这里要 POST 带 body)。
|
||||
async agentScriptStream(
|
||||
@@ -338,7 +354,12 @@ export const api = {
|
||||
base_version_id?: string;
|
||||
aspect_ratio?: string;
|
||||
total_duration?: number;
|
||||
// 二期:表现形式 × 视频结构 —— 后端按这两个挑套路提示词,不传则回落 口播 × 痛点解决
|
||||
presentation_format?: PresentationFormat;
|
||||
video_structure?: VideoStructure;
|
||||
target_index?: number;
|
||||
// 哪个入口来的:辅助生成 / 上传脚本 / 上传视频提炼。三者都是 mode=auto,靠它区分并记进脚本「来源」
|
||||
source?: "ai" | "manual" | "video";
|
||||
},
|
||||
onEvent: (evt: { type: string; [k: string]: unknown }) => void,
|
||||
signal?: AbortSignal
|
||||
@@ -542,9 +563,13 @@ export const api = {
|
||||
videoPacks() {
|
||||
return request<import("./types").VideoPack[]>("/api/assets/video-packs/");
|
||||
},
|
||||
// 手动兜底:把单个送审类素材(角色/三视图/分镜)送火山审核(用户点灰盾「待审核」时)
|
||||
submitAssetReview(id: string) {
|
||||
return request<{ review_status: string; review_error: string }>(`/api/assets/${id}/submit-review/`, { method: "POST" });
|
||||
// 手动兜底:把单个送审类素材(角色/三视图/分镜)送火山审核(用户点灰盾「待审核」时)。
|
||||
// forReference:素材要拿去当生成参考(自由创作 @引用三库),此时不看类目白名单一律送审。
|
||||
submitAssetReview(id: string, forReference = false) {
|
||||
return request<{ review_status: string; review_error: string }>(`/api/assets/${id}/submit-review/`, {
|
||||
method: "POST",
|
||||
body: JSON.stringify({ for_reference: forReference })
|
||||
});
|
||||
},
|
||||
// 置 in_library(功能性模特/角色资料不走该入口;图片成图仍按原规则入库)
|
||||
setAssetLibrary(id: string, inLibrary: boolean) {
|
||||
|
||||
Reference in New Issue
Block a user