/** * 视频流程项目相关的TypeScript类型定义 * 包含角色、场景、服装、音乐等完整的数据结构 */ /** * 角色性别枚举 */ export enum Gender { MALE = 'male', FEMALE = 'female' } /** * 角色种族枚举 */ export enum Race { WESTERN = 'Western', ASIAN = 'Asian', AFRICAN = 'African', LATINO = 'Latino', MIDDLE_EASTERN = 'Middle Eastern', MIXED = 'Mixed' } /** * 角色类型枚举 */ export enum RoleType { PROTAGONIST = 'Protagonist', ANTAGONIST = 'Antagonist', SUPPORTING = 'Supporting', BACKGROUND = 'Background' } /** * 项目状态枚举 */ export enum ProjectStatus { COMPLETED = 'COMPLETED', IN_PROGRESS = 'IN_PROGRESS', PENDING = 'PENDING', FAILED = 'FAILED' } /** * 项目步骤枚举 */ export enum ProjectStep { INIT = 'INIT', SKETCH = 'SKETCH', CHARACTER = 'CHARACTER', SHOT_SKETCH = 'SHOT_SKETCH', VIDEO = 'VIDEO', FINAL = 'FINAL' } /** * 项目模式枚举 */ export enum ProjectMode { AUTOMATIC = 'automatic', MANUAL = 'manual', HYBRID = 'hybrid' } /** * 分辨率枚举 */ export enum Resolution { P720 = '720p', P1080 = '1080p', P4K = '4K' } /** * 语言枚举 */ export enum Language { EN = 'en', ZH = 'zh', JA = 'ja', KO = 'ko' } /** * 角色信息接口 */ export interface Character { /** 角色唯一标识符 */ id: string; /** 角色名称 */ name: string; /** 角色描述,包含外貌、性格等详细信息 */ description: string; /** 角色类型 */ role: RoleType; /** 角色年龄 */ age: number; /** 角色性别 */ gender: Gender; /** 角色种族 */ race: Race; /** 角色简介 */ brief?: string; /** 角色体型描述 */ physique?: string; /** 角色发型描述 */ hairstyle?: string; /** 角色默认举止描述 */ default_demeanor?: string; } /** * 服装信息接口 */ export interface Wardrobe { /** 服装所属角色ID */ belongs_to: string; /** 服装详细描述 */ description: string; } /** * 场景信息接口 */ export interface Scene { /** 场景名称 */ name: string; /** 场景详细描述 */ description: string; } /** * 项目风格信息接口 */ export interface ProjectStyle { /** 地理设置和种族信息 */ geographic_setting_ethnicity: string; /** 格式要求 */ format: string; /** 美学风格描述 */ aesthetics: string; /** 技术蓝图 */ technical_blueprint: string; } /** * 提示JSON结构接口 */ export interface PromptJson { /** 导演指令 */ directors_directive: string; /** 叙事提示 */ narrative_prompt: string; /** 对话语言 */ dialogue_language: string; /** 整体项目风格 */ overall_project_style: string; /** 主要角色列表 */ master_character_list: MasterCharacter[]; /** 主要服装列表 */ master_wardrobe_list: MasterWardrobe[]; /** 主要场景列表 */ master_scene_list: MasterScene[]; /** 核心氛围 */ core_atmosphere: string; } /** * 场景草图项 */ export interface SketchItem { /** 草图名称 */ sketch_name: string; /** 图片ID */ image_id: string; /** 提示词 */ prompt: string; /** 提示词JSON */ prompt_json: PromptJson; /** 草图名称前缀 */ sketch_name_prefix: string; /** 图片URL列表 */ urls: string[]; } /** * 镜头草图项 */ export interface ShotSketchItem { /** 镜头草图名称 */ shot_sketch_name: string; /** 图片ID */ image_id: string; /** 提示词 */ prompt: string; /** 提示词JSON */ prompt_json: PromptJson; /** 镜头草图名称前缀 */ shot_sketch_name_prefix: string; /** 图片URL列表 */ urls: string[]; } /** * 视频项 */ export interface VideoItem { /** 视频ID */ video_id: string; /** 描述 */ description: string; /** 提示词JSON */ prompt_json: PromptJson; /** 视频名称前缀 */ video_name_prefix: string; /** 视频URL列表 */ urls: string[]; } /** * 主要角色 */ export interface MasterCharacter { /** 角色ID */ id: string; /** 角色名称 */ name: string; /** 角色描述 */ description: string; } /** * 主要服装 */ export interface MasterWardrobe { /** 所属角色 */ belongs_to: string; /** 服装描述 */ description: string; } /** * 主要场景 */ export interface MasterScene { /** 场景名称 */ name: string; /** 场景描述 */ description: string; } /** * 视频数据 */ export interface VideoData { /** 视频列表 */ data: VideoItem[]; /** 总数 */ total_count: number; /** 全局ID */ guid: string; /** 项目ID */ project_id: string; } /** * 音乐数据 */ export interface MusicData { [key: string]: any; } /** * 视频信息接口 */ export interface Video { /** 视频唯一标识符 */ video_id: string; /** 视频描述 */ description: string; /** 提示JSON数据 */ prompt_json: PromptJson; /** 视频名称前缀 */ video_name_prefix: string; /** 视频URL列表 */ urls: string[]; } /** * 音乐信息接口 */ export interface Music { /** 音乐相关数据,当前为空对象 */ [key: string]: any; } /** * 最终视频信息接口 */ export interface FinalVideo { /** 最终视频URL */ video: string; } /** * 多语言视频信息接口 */ export interface MultilingualVideo { /** 多语言视频相关数据,当前为空对象 */ [key: string]: any; } /** * 项目设置接口 */ export interface ProjectSettings { /** 视频质量设置 */ quality: string; /** 帧率设置 */ frame_rate: string; /** 分辨率设置 */ resolution: string; /** 音频设置 */ audio: { /** 音频质量 */ quality: string; /** 音频格式 */ format: string; }; } /** * 项目统计信息接口 */ export interface ProjectStatistics { /** 总视频数 */ total_videos: number; /** 总角色数 */ total_characters: number; /** 总场景数 */ total_scenes: number; /** 总服装数 */ total_wardrobes: number; /** 总音乐数 */ total_music: number; /** 总时长 */ total_duration: number; /** 总大小 */ total_size: number; } /** * 项目元数据接口 */ export interface ProjectMetadata { /** 项目版本 */ version: string; /** 项目语言 */ language: string; /** 项目分类 */ category: string; /** 项目难度 */ difficulty: string; /** 项目时长 */ duration: string; /** 项目预算 */ budget: string; /** 项目团队 */ team: string[]; /** 项目设备 */ equipment: string[]; /** 项目软件 */ software: string[]; /** 项目许可证 */ license: string; /** 项目版权 */ copyright: string; /** 项目评分 */ rating: number; /** 项目评论数 */ review_count: number; /** 项目下载数 */ download_count: number; /** 项目分享数 */ share_count: number; /** 项目收藏数 */ favorite_count: number; /** 项目观看数 */ view_count: number; /** 项目完成度 */ completion_rate: number; /** 项目进度 */ progress: number; /** 项目阶段 */ stage: string; /** 项目里程碑 */ milestones: string[]; /** 项目任务 */ tasks: string[]; /** 项目文件 */ files: string[]; /** 项目链接 */ links: string[]; /** 项目备注 */ notes: string; /** 项目历史 */ history: string[]; /** 项目日志 */ logs: string[]; /** 项目统计 */ statistics: ProjectStatistics; } /** * 项目内容接口 */ export interface ProjectContent { /** 草图数据 */ sketch: SketchItem[]; /** 角色数据 */ character: Character[]; /** 镜头草图数据 */ shot_sketch: ShotSketchItem[]; /** 视频数据 */ video: VideoData; /** 音乐数据 */ music: MusicData; /** 最终视频 */ final_video: FinalVideo; /** 多语言视频 */ multilingual_video: MultilingualVideo; } /** * 视频流程项目接口 */ export interface VideoFlowProject { /** 项目名称 */ name: string; /** 项目描述 */ description: string; /** 项目类型 */ type: string; /** 项目状态 */ status: string; /** 项目创建时间 */ created_at: string; /** 项目更新时间 */ updated_at: string; /** 项目所有者ID */ owner_id: string; /** 项目标签列表 */ tags: string[]; /** 项目设置 */ settings: ProjectSettings; /** 项目元数据 */ metadata: ProjectMetadata; /** 项目内容 */ content: ProjectContent; /** 音乐信息 */ music: Music; /** 最终视频 */ final_video: FinalVideo; /** 多语言视频 */ multilingual_video: MultilingualVideo; } /** * 视频流程项目 - 完整的接口返回值类型 */ export interface VideoFlowProjectResponse { /** 项目名称 */ name: string; /** 项目ID */ project_id: string; /** 项目模式 */ mode: ProjectMode; /** 分辨率 */ resolution: Resolution; /** 语言 */ language: Language; /** 原始文本 */ original_text: string; /** 生成的脚本 */ generated_script: string; /** 项目状态 */ status: ProjectStatus; /** 项目标题 */ title: string; /** 项目类型 */ genre: string; /** 项目标签 */ tags: string[]; /** 项目步骤 */ step: ProjectStep; /** 最后消息 */ last_message: string; /** 项目内容 */ data: ProjectContent; }