Skip to contents

artcurator 0.0.2

New Features

  • art_about_ai() provides unified interface for natural language artwork descriptions, abstracting over artgemini and artopenai providers with a provider parameter (#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 provider parameter 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_PROVIDER environment variable sets default provider globally, eliminating need for explicit provider parameter in every call (#unified-interface).

  • Provider-specific parameters (e.g., ml for 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 via PROMPT_VERSION headers (#unified-interface).

  • Internal JSON schema validation for all structured AI outputs (features, profiles, classifications) using jsonvalidate (#unified-interface).