|
|
|
export type ProjectionMode = 'cartesian' | 'spherical' |
|
|
|
export type MouseEventType = "hover" | "click" |
|
|
|
export type MouseEventHandler = (type: MouseEventType, x: number, y: number) => Promise<void> |
|
|
|
export type CacheMode = "use" | "renew" | "ignore" |
|
|
|
export interface RenderRequest { |
|
prompt: string |
|
|
|
|
|
|
|
|
|
|
|
segmentation: 'disabled' | 'firstframe' | 'allframes' |
|
|
|
|
|
|
|
actionnables: string[] |
|
|
|
|
|
|
|
|
|
|
|
|
|
nbFrames: number |
|
|
|
nbSteps: number |
|
|
|
seed: number |
|
|
|
width: number |
|
height: number |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
upscalingFactor: number |
|
|
|
projection: ProjectionMode |
|
|
|
cache: CacheMode |
|
|
|
wait: boolean |
|
|
|
analyze: boolean |
|
} |
|
|
|
export interface ImageSegment { |
|
id: number |
|
box: number[] |
|
color: number[] |
|
label: string |
|
score: number |
|
} |
|
|
|
export type RenderedSceneStatus = |
|
| "pending" |
|
| "completed" |
|
| "error" |
|
|
|
export interface RenderedScene { |
|
renderId: string |
|
status: RenderedSceneStatus |
|
assetUrl: string |
|
alt: string |
|
error: string |
|
maskUrl: string |
|
segments: ImageSegment[] |
|
} |
|
|
|
export interface ImageAnalysisRequest { |
|
image: string |
|
prompt: string |
|
} |
|
|
|
export interface ImageAnalysisResponse { |
|
result: string |
|
error?: string |
|
} |
|
|
|
export type RenderingEngine = |
|
| "VIDEOCHAIN" |
|
| "OPENAI" |
|
| "REPLICATE" |
|
|
|
export type PostVisibility = |
|
| "featured" |
|
| "trending" |
|
| "normal" |
|
|
|
export type Post = { |
|
postId: string |
|
appId: string |
|
prompt: string |
|
model: string |
|
previewUrl: string |
|
assetUrl: string |
|
createdAt: string |
|
visibility: PostVisibility |
|
upvotes: number |
|
downvotes: number |
|
} |
|
|
|
export type CreatePostResponse = { |
|
success?: boolean |
|
error?: string |
|
post: Post |
|
} |
|
|
|
export type GetAppPostsResponse = { |
|
success?: boolean |
|
error?: string |
|
posts: Post[] |
|
} |
|
|
|
export type GetAppPostResponse = { |
|
success?: boolean |
|
error?: string |
|
post: Post |
|
} |
|
export type CurrentPanel = |
|
| "join" |
|
| "play" |
|
| "results" |
|
|
|
|
|
|
|
export type HotshotImageInferenceSize = |
|
| '320x768' |
|
| '384x672' |
|
| '416x608' |
|
| '512x512' |
|
| '608x416' |
|
| '672x384' |
|
| '768x320' |
|
| '1024x1024' |
|
| '1024x512' |
|
| '1024x576' |
|
| '576x1024' |
|
|
|
export type VideoOptions = { |
|
positivePrompt: string |
|
|
|
negativePrompt?: string |
|
|
|
size?: HotshotImageInferenceSize |
|
|
|
|
|
|
|
|
|
huggingFaceLora?: string |
|
|
|
replicateLora?: string |
|
|
|
triggerWord?: string |
|
|
|
nbFrames?: number |
|
duration?: number |
|
|
|
steps?: number |
|
|
|
key?: string |
|
} |
|
|
|
export type SDXLModel = { |
|
image: string |
|
title: string |
|
repo: string |
|
trigger_word: string |
|
weights: string |
|
is_compatible: boolean |
|
likes: number |
|
downloads: number |
|
} |
|
|
|
export type QualityLevel = "low" | "medium" | "high" |
|
|
|
export type QualityOption = { |
|
level: QualityLevel |
|
label: string |
|
} |
|
|