/** * @license * Copyright 2025 Steven Roussey * SPDX-License-Identifier: Apache-2.0 */ import type { IRunConfig, TaskConfig } from "@workglow/task-graph"; import { CreateWorkflow } from "@workglow/task-graph"; import type { ImageValue } from "@workglow/util/media"; import { DataPortSchema, FromSchema, TypedArraySchemaOptions } from "@workglow/util/schema"; import type { ModelConfig } from "../model/ModelSchema"; import { AiVisionTask } from "./base/AiVisionTask"; export declare const ImageEmbeddingInputSchema: DataPortSchema; export declare const ImageEmbeddingOutputSchema: { readonly type: "object"; readonly properties: { readonly vector: { readonly anyOf: readonly [{ readonly type: "array"; readonly format: "TypedArray"; readonly title: "Typed Array"; readonly description: "A typed array (Float32Array, Int8Array, etc.)"; }, { readonly type: "array"; readonly items: { readonly type: "array"; readonly format: "TypedArray"; readonly title: "Typed Array"; readonly description: "A typed array (Float32Array, Int8Array, etc.)"; }; }]; }; }; readonly required: readonly ["vector"]; readonly additionalProperties: false; }; export type ImageEmbeddingTaskInput = Omit<{ model: string | ModelConfig; image: string | { [x: string]: unknown; } | (string | { [x: string]: unknown; })[]; }, "image"> & { readonly image: ImageValue | readonly ImageValue[]; }; export type ImageEmbeddingTaskOutput = FromSchema; export type ImageEmbeddingTaskConfig = TaskConfig; /** * Generates embeddings from images using vision models */ export declare class ImageEmbeddingTask extends AiVisionTask { static type: string; /** Capabilities required of the model; gated in {@link AiTask.execute}. */ static readonly requires: ["image.embedding"]; static category: string; static title: string; static description: string; static inputSchema(): DataPortSchema; static outputSchema(): DataPortSchema; } export declare const imageEmbedding: (input: ImageEmbeddingTaskInput, config?: ImageEmbeddingTaskConfig, runConfig?: Partial) => Promise<{ vector: import("@workglow/util/worker").TypedArray[] | import("@workglow/util/worker").TypedArray; }>; declare module "@workglow/task-graph" { interface Workflow { imageEmbedding: CreateWorkflow; } } //# sourceMappingURL=ImageEmbeddingTask.d.ts.map