Spaces:
Sleeping
Sleeping
| export type ProjectionMode = 'cartesian' | 'spherical' | |
| export type CacheMode = "use" | "renew" | "ignore" | |
| export interface RenderRequest { | |
| prompt: string | |
| // whether to use video segmentation | |
| // disabled (default) | |
| // firstframe: we only analyze the first frame | |
| // allframes: we analyze all the frames | |
| segmentation: 'disabled' | 'firstframe' | 'allframes' | |
| // segmentation will only be executed if we have a non-empty list of actionnables | |
| // actionnables are names of things like "chest", "key", "tree", "chair" etc | |
| actionnables: string[] | |
| nbFrames: number | |
| nbFPS: number | |
| nbSteps: number // min: 1, max: 50 | |
| seed: number | |
| width: number // fixed at 1024 for now | |
| height: number // fixed at 512 for now | |
| // upscaling factor | |
| // 0: no upscaling | |
| // 1: no upscaling | |
| // 2: 2x larger | |
| // 3: 3x larger | |
| // 4x: 4x larger, up to 4096x4096 (warning: a PNG of this size can be 50 Mb!) | |
| upscalingFactor: number | |
| projection: ProjectionMode | |
| /** | |
| * Use turbo mode | |
| * | |
| * At the time of writing this will use SSD-1B + LCM | |
| * https://huggingface.co/spaces/jbilcke-hf/fast-image-server | |
| */ | |
| turbo: boolean | |
| cache: CacheMode | |
| wait: boolean // wait until the job is completed | |
| analyze: boolean // analyze the image to generate a caption (optional) | |
| identityImage: string // reference image for the main entity | |
| } | |
| export interface ImageSegment { | |
| id: number | |
| box: number[] | |
| color: number[] | |
| label: string | |
| score: number | |
| } | |
| export type RenderedSceneStatus = | |
| | "pregenerated" | |
| | "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 // in base64 | |
| prompt: string | |
| } | |
| export interface ImageAnalysisResponse { | |
| result: string | |
| error?: string | |
| } | |
| export type GeneratedPanel = { | |
| panel: number | |
| instructions: string | |
| caption: string | |
| } | |
| export type GeneratedPanels = GeneratedPanel[] | |
| // LLMVendor = what the user configure in the UI (eg. a dropdown item called default server) | |
| // LLMEngine = the actual engine to use (eg. hugging face) | |
| export type LLMEngine = | |
| | "INFERENCE_API" | |
| | "INFERENCE_ENDPOINT" | |
| | "OPENAI" | |
| | "REPLICATE" | |
| | "GROQ" | |
| | "ANTHROPIC" | |
| export type RenderingEngine = | |
| | "VIDEOCHAIN" | |
| | "OPENAI" | |
| | "REPLICATE" | |
| | "INFERENCE_API" | |
| | "INFERENCE_ENDPOINT" | |
| export type RenderingModelVendor = | |
| | "SERVER" | |
| | "OPENAI" | |
| | "REPLICATE" | |
| | "HUGGINGFACE" | |
| // LLMVendor = what the user configure in the UI (eg. a dropdown item called default server) | |
| // LLMEngine = the actual engine to use (eg. hugging face) | |
| export type LLMVendor = | |
| | "SERVER" | |
| | "OPENAI" | |
| | "GROQ" | |
| | "ANTHROPIC" | |
| export type LLMVendorConfig = { | |
| vendor: LLMVendor | |
| apiKey: string | |
| modelId: string | |
| } | |
| export type LLMPredictionFunctionParams = { | |
| systemPrompt: string | |
| userPrompt: string | |
| nbMaxNewTokens: number | |
| llmVendorConfig: LLMVendorConfig | |
| } | |
| export type PostVisibility = | |
| | "featured" // featured by admins | |
| | "trending" // top trending / received more than 10 upvotes | |
| | "normal" // default visibility | |
| export type Post = { | |
| postId: string | |
| appId: string | |
| prompt: 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 LayoutProps = { | |
| page: number | |
| nbPanels: number | |
| } | |
| // TODO: rename the *Model fields to better indicate if this is a LLM or RENDER mdoel | |
| export type Settings = { | |
| renderingModelVendor: RenderingModelVendor | |
| renderingUseTurbo: boolean | |
| llmVendor: LLMVendor | |
| huggingFaceOAuth: string | |
| huggingfaceApiKey: string | |
| huggingfaceInferenceApiModel: string | |
| huggingfaceInferenceApiModelTrigger: string | |
| huggingfaceInferenceApiFileType: string | |
| replicateApiKey: string | |
| replicateApiModel: string | |
| replicateApiModelVersion: string | |
| replicateApiModelTrigger: string | |
| openaiApiKey: string | |
| openaiApiModel: string | |
| openaiApiLanguageModel: string | |
| groqApiKey: string | |
| groqApiLanguageModel: string | |
| anthropicApiKey: string | |
| anthropicApiLanguageModel: string | |
| hasGeneratedAtLeastOnce: boolean | |
| userDefinedMaxNumberOfPages: number | |
| } | |
| export type DynamicConfig = { | |
| maxNbPages: number | |
| nbPanelsPerPage: number | |
| nbTotalPanelsToGenerate: number | |
| oauthClientId: string | |
| oauthRedirectUrl: string | |
| oauthScopes: string | |
| enableHuggingFaceOAuth: boolean | |
| enableHuggingFaceOAuthWall: boolean | |
| } | |