UNPKG

exif-ai

Version:

A powerful Node.js CLI and library that uses AI providers (OpenAI, Google Gemini, Anthropic Claude, Mistral, Ollama, Amazon Bedrock, Azure OpenAI, DeepInfra, Fireworks, XAI, OpenRouter, and more) to intelligently write image descriptions and tags to EXIF

62 lines (61 loc) 1.67 kB
export * from "./api.js"; import { DescriptionKey } from "./tasks/description.js"; import { TagKey } from "./tasks/tags.js"; export declare function execute({ tasks, path: imagePath, provider, model, descriptionTags, tagTags, descriptionPrompt, tagPrompt, verbose, dry, writeArgs, providerArgs, avoidOverwrite, repeat, }: { /** * Array of tasks to perform: 'description', 'tag' */ tasks?: string[]; /** * Path to the image file to process */ path: string; /** * Name of the provider module to use for generating descriptions and tags */ provider: string; /** * Optional model name to be used by the provider */ model?: string; /** * List of EXIF tags to write the description to */ descriptionTags?: DescriptionKey[]; /** * List of EXIF tags to write the tags to */ tagTags?: TagKey[]; /** * Prompt to use for generating the description */ descriptionPrompt?: string; /** * Prompt to use for generating the tags */ tagPrompt?: string; /** * Enable verbose logging */ verbose?: boolean; /** * Perform a dry run without writing to the file */ dry?: boolean; /** * Additional arguments to pass to the exiftool write function */ writeArgs?: string[]; /** * Additional arguments to pass to the provider module */ providerArgs?: string[]; /** * Avoid overwriting existing tags */ avoidOverwrite?: boolean; /** * Number of times to repeat the task if it does not return acceptable results */ repeat?: number; }): Promise<void>;