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
25 lines (24 loc) • 873 B
TypeScript
import { Tags } from "exiftool-vendored";
type TagKey1 = keyof {
[K in keyof Tags as Tags[K] extends string | undefined ? K : never]: Tags[K];
};
type TagKey2 = keyof {
[K in keyof Tags as Tags[K] extends string | string[] | undefined ? K : never]: Tags[K];
};
export type TagKey = Exclude<TagKey2, TagKey1>;
export declare function getTags({ buffer, model, prompt, providerModule, providerArgs, verbose, tagTags, existingTags, additionalTags, path, file_id, repeat, provider, }: {
buffer: Buffer;
model?: string;
prompt: string;
providerModule?: unknown;
providerArgs?: string[];
verbose?: boolean;
tagTags: readonly TagKey[];
existingTags?: Readonly<Tags>;
additionalTags?: readonly string[];
path: string;
file_id?: string;
repeat?: number;
provider?: string;
}): Promise<Record<TagKey, string[]>>;
export {};