UNPKG

@llumiverse/drivers

Version:

LLM driver implementations. Currently supported are: openai, huggingface, bedrock, replicate.

75 lines 3.01 kB
import { AIModel, Completion, ExecutionOptions, PromptSegment } from "@llumiverse/core"; import { VertexAIDriver } from "../index.js"; interface ImagenBaseReference { referenceType: "REFERENCE_TYPE_RAW" | "REFERENCE_TYPE_MASK" | "REFERENCE_TYPE_SUBJECT" | "REFERENCE_TYPE_CONTROL" | "REFERENCE_TYPE_STYLE"; referenceId: number; referenceImage: { bytesBase64Encoded: string; }; } 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" } interface ImagenReferenceRaw extends ImagenBaseReference { referenceType: "REFERENCE_TYPE_RAW"; } interface ImagenReferenceMask extends Omit<ImagenBaseReference, "referenceImage"> { referenceType: "REFERENCE_TYPE_MASK"; maskImageConfig: { maskMode?: ImagenMaskMode; maskClasses?: number[]; dilation?: number; }; referenceImage?: { bytesBase64Encoded: string; }; } interface ImagenReferenceSubject extends ImagenBaseReference { referenceType: "REFERENCE_TYPE_SUBJECT"; subjectImageConfig: { subjectDescription: string; subjectType: "SUBJECT_TYPE_PERSON" | "SUBJECT_TYPE_ANIMAL" | "SUBJECT_TYPE_PRODUCT" | "SUBJECT_TYPE_DEFAULT"; }; } interface ImagenReferenceControl extends ImagenBaseReference { referenceType: "REFERENCE_TYPE_CONTROL"; controlImageConfig: { controlType: "CONTROL_TYPE_FACE_MESH" | "CONTROL_TYPE_CANNY" | "CONTROL_TYPE_SCRIBBLE"; enableControlImageComputation?: boolean; }; } interface ImagenReferenceStyle extends ImagenBaseReference { referenceType: "REFERENCE_TYPE_STYLE"; styleImageConfig: { styleDescription?: string; }; } type ImagenMessage = ImagenReferenceRaw | ImagenReferenceMask | ImagenReferenceSubject | ImagenReferenceControl | ImagenReferenceStyle; export interface ImagenPrompt { prompt: string; referenceImages?: ImagenMessage[]; subjectDescription?: string; negativePrompt?: string; } export declare class ImagenModelDefinition { model: AIModel; constructor(modelId: string); createPrompt(_driver: VertexAIDriver, segments: PromptSegment[], options: ExecutionOptions): Promise<ImagenPrompt>; requestImageGeneration(driver: VertexAIDriver, prompt: ImagenPrompt, options: ExecutionOptions): Promise<Completion>; } export {}; //# sourceMappingURL=imagen.d.ts.map