UNPKG

@llumiverse/common

Version:

Public types, enums and options used by Llumiverse API.

89 lines 3.57 kB
import { type ModelOptions, type ModelOptionsInfo } from "../types.js"; /** * @discriminator _option_id */ export type VertexAIOptions = ImagenOptions | VertexAIClaudeOptions | VertexAIGeminiOptions; export declare enum ImagenTaskType { TEXT_IMAGE = "TEXT_IMAGE", EDIT_MODE_INPAINT_REMOVAL = "EDIT_MODE_INPAINT_REMOVAL", EDIT_MODE_INPAINT_INSERTION = "EDIT_MODE_INPAINT_INSERTION", EDIT_MODE_BGSWAP = "EDIT_MODE_BGSWAP", EDIT_MODE_OUTPAINT = "EDIT_MODE_OUTPAINT", CUSTOMIZATION_SUBJECT = "CUSTOMIZATION_SUBJECT", CUSTOMIZATION_STYLE = "CUSTOMIZATION_STYLE", CUSTOMIZATION_CONTROLLED = "CUSTOMIZATION_CONTROLLED", CUSTOMIZATION_INSTRUCT = "CUSTOMIZATION_INSTRUCT" } export declare enum ImagenMaskMode { MASK_MODE_USER_PROVIDED = "MASK_MODE_USER_PROVIDED", MASK_MODE_BACKGROUND = "MASK_MODE_BACKGROUND", MASK_MODE_FOREGROUND = "MASK_MODE_FOREGROUND", MASK_MODE_SEMANTIC = "MASK_MODE_SEMANTIC" } export declare enum ThinkingLevel { HIGH = "HIGH", MEDIUM = "MEDIUM", LOW = "LOW", MINIMAL = "MINIMAL", THINKING_LEVEL_UNSPECIFIED = "THINKING_LEVEL_UNSPECIFIED" } export interface ImagenOptions { _option_id: "vertexai-imagen"; number_of_images?: number; seed?: number; person_generation?: "dont_allow" | "allow_adults" | "allow_all"; safety_setting?: "block_none" | "block_only_high" | "block_medium_and_above" | "block_low_and_above"; image_file_type?: "image/jpeg" | "image/png"; jpeg_compression_quality?: number; aspect_ratio?: "1:1" | "4:3" | "3:4" | "16:9" | "9:16"; add_watermark?: boolean; enhance_prompt?: boolean; edit_mode?: ImagenTaskType; guidance_scale?: number; edit_steps?: number; mask_mode?: ImagenMaskMode; mask_dilation?: number; mask_class?: number[]; controlType?: "CONTROL_TYPE_FACE_MESH" | "CONTROL_TYPE_CANNY" | "CONTROL_TYPE_SCRIBBLE"; controlImageComputation?: boolean; subjectType?: "SUBJECT_TYPE_PERSON" | "SUBJECT_TYPE_ANIMAL" | "SUBJECT_TYPE_PRODUCT" | "SUBJECT_TYPE_DEFAULT"; } export interface VertexAIClaudeOptions { _option_id: "vertexai-claude"; max_tokens?: number; temperature?: number; top_p?: number; top_k?: number; stop_sequence?: string[]; effort?: 'low' | 'medium' | 'high' | 'xhigh' | 'max'; thinking_budget_tokens?: number; include_thoughts?: boolean; cache_enabled?: boolean; cache_ttl?: '5m' | '1h'; } export interface VertexAIGeminiOptions { _option_id: "vertexai-gemini"; max_tokens?: number; temperature?: number; top_p?: number; top_k?: number; stop_sequence?: string[]; presence_penalty?: number; frequency_penalty?: number; seed?: number; effort?: 'low' | 'medium' | 'high'; include_thoughts?: boolean; thinking_budget_tokens?: number; thinking_level?: ThinkingLevel; flex?: boolean; image_aspect_ratio?: "1:1" | "2:3" | "3:2" | "3:4" | "4:3" | "9:16" | "16:9" | "21:9"; image_size?: "1K" | "2K" | "4K"; person_generation?: "ALLOW_ALL" | "ALLOW_ADULT" | "ALLOW_NONE"; prominent_people?: "PROMINENT_PEOPLE_UNSPECIFIED" | "ALLOW_PROMINENT_PEOPLE" | "BLOCK_PROMINENT_PEOPLE"; output_mime_type?: "image/png" | "image/jpeg"; output_compression_quality?: number; } export declare function isFlexSupportedGeminiModel(model: string): boolean; export declare function getVertexAiOptions(model: string, option?: ModelOptions): ModelOptionsInfo; export declare function getMaxTokensLimitVertexAi(model: string): number; //# sourceMappingURL=vertexai.d.ts.map