
Version 0.0
artcurator 0.0.2
New Features
art_about_ai()provides unified interface for natural language artwork descriptions, abstracting over artgemini and artopenai providers with aproviderparameter (#unified-interface).art_style_ai()extracts 5-10 stylistic features from artwork images, returning a data.table with tag, tag_norm, and desc columns. Works with both Gemini and OpenAI providers (#unified-interface).classify_styles_ai()standardizes free-form style tags into consistent categories, ensuring taxonomy coherence across artwork collections (#unified-interface).art_profile_ai()generates concise artwork profiles including category, style, methodology, color profile, and interesting details. Takes artwork metadata (title, artist, creation metrics) alongside image for richer context (#unified-interface).art_profile_full_ai()produces comprehensive artwork profiles with medium, description, inspiration, approach, and impact sections. Supports optional artist story for deeper personalization (#unified-interface).
Provider Abstraction
All artwork analysis functions now accept a
providerparameter to explicitly select between “gemini” (Google Gemini) or “openai” (OpenAI) backends (#unified-interface).Provider auto-detection: when
provider = NULL(default), automatically detects installed provider packages, preferring artgemini if available, falling back to artopenai (#unified-interface).ARTCURATOR_PROVIDERenvironment variable sets default provider globally, eliminating need for explicit provider parameter in every call (#unified-interface).Provider-specific parameters (e.g.,
mlfor model selection) pass through via...argument, enabling access to provider features while maintaining unified interface (#unified-interface).
Infrastructure
Centralized prompt management: all artwork analysis prompts now stored in
inst/prompts/with version tracking viaPROMPT_VERSIONheaders (#unified-interface).Internal JSON schema validation for all structured AI outputs (features, profiles, classifications) using jsonvalidate (#unified-interface).