2025-09-06 23:57:49 +08:00

185 lines
4.1 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* 实体接口定义
* 所有实体都应该实现这些基础接口
*/
import { ContentItem, LensType, TagValueObject } from "./valueObject";
/**
* 基础实体接口
*/
export interface BaseEntity {
/** 唯一标识 */
readonly id: string;
}
/**
* AI文本实体接口
*/
export interface AITextEntity {
/** 唯一标识 */
readonly id: string;
/** 文本内容 */
content: string;
}
/**
* 角色实体接口
*/
export interface RoleEntity {
/** 唯一标识 */
readonly id: string;
/** 角色名称 */
name: string;
/** 角色提示词 */
generateText: string;
/**角色标签 */
tags: TagValueObject[];
/** 角色图片URL */
imageUrl: string;
/**来源于草稿箱 */
fromDraft: boolean;
/**发生角色形象的生成或者替换 */
isChangeRole: boolean;
}
/**
* 剧本中角色实体接口
*/
export interface ScriptRoleEntity {
/** 唯一标识 */
readonly id: string;
/** 角色名称 */
name: string;
/** 角色照片 */
image_url: string;
}
/**
* 场景实体接口
*/
export interface SceneEntity {
/** 唯一标识 */
readonly id: string;
/** 场景名称 */
name: string;
/** 场景图片URL */
imageUrl: string;
/** 场景标签 */
tagIds: TagValueObject[];
/** 场景提示词 */
generateText: string;
}
/**
* 视频片段实体接口
*/
export interface VideoSegmentEntity {
/** 唯一标识 */
readonly id: string;
/** 视频片段名称 */
name: string;
/**视频片段草图Url */
sketchUrl: string;
/**视频片段视频Url */
videoUrl: {
video_url: string;
video_id: string;
video_status: number | null;
}[];
/**视频片段状态 0:视频加载中 1:任务已完成 2:任务失败 */
status: number | null;
/**镜头项 */
lens: LensType[];
}
/**
* 图片故事实体接口
* @description 表示一条图片故事及其相关信息
*/
export interface ImageStoryEntity {
/** 唯一标识 */
readonly id: string;
/** 图片URL */
imageUrl: string;
/** 图片故事用户描述 */
imageStory: string;
/** 图片故事分析结果 */
imageAnalysis: string;
/** 故事分类 */
storyType: string;
/**角色头像 */
roleImage: {
/** 名称 */
name: string;
/** 头像URL本地create的url */
avatar_url: string;
/** 角色区域 小数比例形式 */
region: {
/** x坐标 */
x: number;
/** y坐标 */
y: number;
/** 宽度 */
width: number;
/** 高度 */
height: number;
} | null;
}[];
}
/**
* 故事模板实体接口
* @description 表示一个故事模板及其相关信息
*/
export interface StoryTemplateEntity {
/** 唯一标识 */
readonly id: string;
/** 故事模板名称 */
name: string;
/** 故事模板图片 */
image_url: string[];
/** 故事模板概览*/
generateText: string;
/** 故事分类 */
category: string;
/** 故事模板ID */
template_id: string;
/** 故事角色 */
storyRole: {
/** 角色名 */
role_name: string;
/** 角色描述ai分析出来用于剧本生成 */
role_description: string;
/** 用户提示,提示给用户需要输入什么内容 */
user_tips: string;
/** 约束,可选,用于传给ai让ai去拦截用户不符合约束的输入内容 */
constraints: string;
/** 照片URL */
photo_url: string;
/** 声音URL */
voice_url: string;
}[];
/** 道具 */
storyItem: {
/** 道具名 */
item_name: string;
/** 道具描述ai分析出来用于剧本生成 */
item_description: string;
/** 用户提示,提示给用户需要输入什么内容 */
user_tips: string;
/** 约束,可选,用于传给ai让ai去拦截用户不符合约束的输入内容 */
constraints: string;
/** 道具照片URL */
photo_url: string;
}[];
/** 自由输入文字 */
freeInputItem?: {
/** 用户提示,提示给用户需要输入什么内容 */
user_tips: string;
/** 约束,可选,用于传给ai让ai去拦截用户不符合约束的输入内容 */
constraints: string;
/** 自由输入文字 */
free_input_text: string;
}
}