forked from 77media/video-flow
189 lines
4.2 KiB
TypeScript
189 lines
4.2 KiB
TypeScript
/**
|
||
* 实体接口定义
|
||
* 所有实体都应该实现这些基础接口
|
||
*/
|
||
|
||
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;
|
||
/** 故事模板视频URL */
|
||
show_url: 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;
|
||
}[];
|
||
/** 自由输入文字 */
|
||
freeInput: {
|
||
/** 用户提示,提示给用户需要输入什么内容 */
|
||
user_tips: string;
|
||
/** 约束,可选,用于传给ai,让ai去拦截用户不符合约束的输入内容 */
|
||
constraints: string;
|
||
/** 自由输入文字 */
|
||
free_input_text: string;
|
||
/** 输入名称 */
|
||
input_name: string;
|
||
}[];
|
||
}
|