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
TypeScript
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>;