Skip to contents

Enhanced artwork profiling functions that provide richer analysis by including additional artwork context (artist name, creation time, etc.) alongside the image. These functions work with both Google Gemini and OpenAI providers.

These complement the standard analysis functions in artwork-ai.

Usage

art_profile_ai(
  art_title,
  artist_name,
  drawing_hours,
  brush_strokes,
  img_path,
  provider = NULL,
  ml = NULL,
  temp = 0,
  timeout = 60
)

art_profile_full_ai(
  story = NULL,
  artist_name,
  creation_time,
  art_title,
  img_path,
  provider = NULL,
  ml = NULL,
  temp = 0,
  timeout = 60
)

Arguments

art_title

Title of the artwork

artist_name

Name of the artist who created the artwork

drawing_hours

Number of hours spent creating the artwork

brush_strokes

Number of individual brush strokes used

img_path

Path to artwork image file or URL

provider

Character. AI provider to use: "gemini" or "openai". If NULL (default), uses ARTCURATOR_PROVIDER env var or defaults to gemini.

ml

Character. Model ID to use. Provider-specific.

temp

Numeric. Temperature setting (0-2). Default 0 for structured output.

timeout

Numeric. Request timeout in seconds. Default 60.

story

Optional story or background about the artwork

creation_time

Time taken to create the artwork (e.g., "10 hours")

Value

data.table with exactly 1 row and columns: category, style, methodology, color, details. Includes prompt_versions, model/modelVersion, and usage/usageMetadata attributes.

data.table with exactly 1 row and columns: medium, description, inspiration, approach, impact. Includes prompt_versions, model/modelVersion, and usage/usageMetadata attributes.

Details

Note: artgemini and artopenai previously exported these functions but they have been removed. Use artcurator for all artwork analysis.

Functions

  • art_profile_ai(): Generate concise artwork profile

  • art_profile_full_ai(): Generate comprehensive artwork profile

Examples

if (FALSE) { # \dontrun{
# Auto-detect provider
profile <- art_profile_ai(
  art_title = "Portrait of Jeezy",
  artist_name = "Bobby Fatemi",
  drawing_hours = 12,
  brush_strokes = 5000,
  img_path = "path/to/artwork.png"
)

# Use Gemini
profile <- art_profile_ai(
  art_title = "Portrait of Jeezy",
  artist_name = "Bobby Fatemi",
  drawing_hours = 12,
  brush_strokes = 5000,
  img_path = "path/to/artwork.png",
  provider = "gemini"
)
} # }
if (FALSE) { # \dontrun{
# Auto-detect provider
profile <- art_profile_full_ai(
  story = "This piece was inspired by...",
  artist_name = "Bobby Fatemi",
  creation_time = "10 hours",
  art_title = "Portrait of Jeezy",
  img_path = "path/to/artwork.png"
)

# Use OpenAI
profile <- art_profile_full_ai(
  artist_name = "Bobby Fatemi",
  creation_time = "10 hours",
  art_title = "Portrait of Jeezy",
  img_path = "path/to/artwork.png",
  provider = "openai",
  ml = "gpt-5.1"
)
} # }