mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2025-12-28 21:42:27 +08:00
feat(video): add downloading status and metadata to video types
Add new video status types for downloading state and include metadata in OpenAIVideoBase. This allows better tracking of video processing stages and provides access to video metadata.
This commit is contained in:
parent
014247f983
commit
6d22a635f2
@ -4,7 +4,7 @@ import { Provider } from './provider'
|
||||
|
||||
// Only OpenAI (Responses) is supported for now.
|
||||
export type VideoEndpointType = 'openai'
|
||||
export type VideoStatus = 'queued' | 'in_progress' | 'completed' | 'failed'
|
||||
export type VideoStatus = 'queued' | 'in_progress' | 'completed' | 'downloading' | 'downloaded' | 'failed'
|
||||
|
||||
interface VideoBase {
|
||||
id: string
|
||||
@ -14,6 +14,7 @@ interface VideoBase {
|
||||
|
||||
interface OpenAIVideoBase {
|
||||
type: 'openai'
|
||||
metadata: OpenAI.Videos.Video
|
||||
}
|
||||
|
||||
export interface VideoQueued extends VideoBase {
|
||||
@ -22,11 +23,20 @@ export interface VideoQueued extends VideoBase {
|
||||
|
||||
export interface VideoInProgress extends VideoBase {
|
||||
status: 'in_progress'
|
||||
/** integer percent */
|
||||
progress: number
|
||||
}
|
||||
|
||||
export interface VideoCompleted extends VideoBase {
|
||||
status: 'completed'
|
||||
}
|
||||
|
||||
export interface VideoDownloading extends VideoBase {
|
||||
status: 'downloading'
|
||||
/** integer percent */
|
||||
progress: number
|
||||
}
|
||||
export interface Videodownloaded extends VideoBase {
|
||||
status: 'downloaded'
|
||||
fileId: string
|
||||
}
|
||||
|
||||
@ -38,11 +48,19 @@ export interface VideoFailed extends VideoBase {
|
||||
export interface OpenAIVideoQueued extends VideoQueued, OpenAIVideoBase {}
|
||||
export interface OpenAIVideoInProgress extends VideoInProgress, OpenAIVideoBase {}
|
||||
export interface OpenAIVideoCompleted extends VideoCompleted, OpenAIVideoBase {}
|
||||
export interface OpenAIVideoDownloading extends VideoDownloading, OpenAIVideoBase {}
|
||||
export interface OpenAIVideoDownloaded extends Videodownloaded, OpenAIVideoBase {}
|
||||
export interface OpenAIVideoFailed extends VideoFailed, OpenAIVideoBase {
|
||||
error: OpenAI.Videos.Video['error']
|
||||
}
|
||||
|
||||
export type OpenAIVideo = OpenAIVideoQueued | OpenAIVideoInProgress | OpenAIVideoCompleted | OpenAIVideoFailed
|
||||
export type OpenAIVideo =
|
||||
| OpenAIVideoQueued
|
||||
| OpenAIVideoInProgress
|
||||
| OpenAIVideoCompleted
|
||||
| OpenAIVideoDownloading
|
||||
| OpenAIVideoDownloaded
|
||||
| OpenAIVideoFailed
|
||||
|
||||
export type Video = OpenAIVideo
|
||||
|
||||
@ -62,6 +80,7 @@ export type CreateVideoParams = OpenAICreateVideoParams
|
||||
|
||||
interface CreateVideoBaseResult {
|
||||
type: VideoEndpointType
|
||||
video: unknown
|
||||
}
|
||||
|
||||
export interface OpenAICreateVideoResult extends CreateVideoBaseResult {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user