Skip to contents

What is artcurator?

artcurator is the unified AI interface for artwork analysis in the Artalytics platform. It consolidates artwork analysis functions from artgemini and artopenai into a single, provider-agnostic API.

Key Features

  • Provider abstraction - Switch between Google Gemini and OpenAI with a single parameter
  • Centralized prompts - All artwork analysis prompts managed in one location
  • Consistent API - Same function signatures across providers
  • Future-proof - Provider changes handled internally

Package Position

artpipelines (application layer)
    |
artcurator (unified AI interface)
    |
    +-- artgemini (Gemini low-level API)
    +-- artopenai (OpenAI low-level API)
    |
artutils / artcore (infrastructure)

Core Functions

Function Purpose Returns
art_about_ai() Natural language description Character string
art_style_ai() Extract stylistic features data.table (tag, tag_norm, desc)
classify_styles_ai() Standardize tags to categories data.table (tag, category)
art_profile_ai() Concise artwork profile data.table (5 columns)
art_profile_full_ai() Comprehensive profile data.table (5 columns)

Hands-On Examples

Generate Description

desc <- art_about_ai("artwork.jpeg")
cat(desc)
This abstract artwork features a dense composition of fragmented and overlapping faces, rendered in a style reminiscent of Cubism. The subject matter uniquely merges human portraiture with scientific information, incorporating the word "ZINC," its chemical symbol "Zn," its atomic number and mass, and various molecular diagrams. Bold, black outlines define the geometric shapes and facial features, creating a stained-glass effect. The palette is vibrant and high-contrast, dominated by electric blues, reds, oranges, and pinks against a textured background. The numerous, wide-open eyes gaze directly at the viewer, creating an intense and energetic mood.

Check prompt version:

attr(desc, "prompt_versions")
$system
[1] "v1"

$user
[1] "v1"

Extract Style Features

styles <- art_style_ai("artwork.jpeg")
print(styles)
                                tag                         tag_norm
                             <char>                           <char>
1:       Cubist-Inspired Figuration       cubist-inspired figuration
2:       Vibrant, Saturated Palette       vibrant, saturated palette
3:              Bold Black Outlines              bold black outlines
4:   Dense, Overlapping Composition   dense, overlapping composition
5:         Stylized, Prominent Eyes         stylized, prominent eyes
6: Integration of Text and Diagrams integration of text and diagrams
7:                 Textured Surface                 textured surface
                                                                                                                                                       desc
                                                                                                                                                     <char>
1:              Faces are deconstructed into geometric planes and reassembled, showing multiple viewpoints simultaneously in a fragmented, abstract manner.
2: The artwork utilizes a high-contrast palette of intense, non-naturalistic colors like electric blue, magenta, and bright orange to create visual energy.
3:                   Thick, decisive black lines define the fragmented shapes and separate the vivid color fields, similar to stained glass or cloisonnism.
4:             Multiple faces and abstract forms are tightly packed and layered, filling the entire canvas and creating a complex, compressed visual space.
5:                       Eyes are a recurring, dominant motif, rendered as large, almond-shaped forms with detailed lashes that directly engage the viewer.
6:   Scientific elements, including chemical structure diagrams, numbers, and the word 'ZINC', are collaged into the composition, merging art with science.
7:            The painting's surface has a tangible, crinkled texture, suggesting the use of mixed media or a heavily worked canvas, adding physical depth.

Classify Tags

tags <- c("Photorealistic", "Detailed Rendering", "Vibrant Colors")
classified <- classify_styles_ai(tags)
print(classified)
                  tag category
               <char>   <char>
1:     Photorealistic  Realism
2: Detailed Rendering  Realism
3:     Vibrant Colors Colorism

With existing categories for consistency:

classify_styles_ai(
  tags,
  exist_cats = c("Realism", "Technique", "Color Theory")
)
                  tag     category
               <char>       <char>
1:     Photorealistic      Realism
2: Detailed Rendering    Technique
3:     Vibrant Colors Color Theory

Generate Profiles

Concise profile:

profile <- art_profile_ai(
  art_title = "Portrait of Jeezy",
  artist_name = "Bobby Fatemi",
  drawing_hours = 12,
  brush_strokes = 5000,
  img_path = "artwork.jpeg"
)
print(profile)
                        category
                          <char>
1: Mixed-Media Abstract Portrait
                                                                                                                                                                                                                                                                                                                                                                      style
                                                                                                                                                                                                                                                                                                                                                                     <char>
1: The primary style of the artwork is a contemporary interpretation of Cubism, characterized by fragmented facial features and multiple, simultaneous viewpoints. This is blended with Fauvist principles, evident in the use of intense, non-naturalistic colors, and an overall Expressionistic quality that conveys emotion through distorted forms and vibrant energy.
                                                                                                                                                                                                                                                                                                                                                             methodology
                                                                                                                                                                                                                                                                                                                                                                  <char>
1: Titled 'Portrait of Jeezy', this artwork was meticulously created by artist Bobby Fatemi over a 12-hour period, utilizing an estimated 5000 individual brush strokes. The piece appears to be a physical painting on a textured surface, combining bold brushwork with elements that suggest a mixed-media approach, such as integrated text and scientific diagrams.
                                                                                                                                                                                                                                                                                                                                                   color
                                                                                                                                                                                                                                                                                                                                                  <char>
1: The artwork features a dynamic and high-contrast color profile. The palette is dominated by saturated primary and secondary colors, including electric blues, fiery reds and oranges, and vivid magentas and greens. These bold colors are contained within thick, dark outlines, creating a stained-glass effect that enhances the visual intensity.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          details
                                                                                                                                                                                                                                                                                                                                                                                                                                                                           <char>
1: A distinctive detail of this artwork is the integration of scientific and chemical motifs. Throughout the composition, viewers can find chemical structure diagrams, the elemental symbol for Zinc ('Zn'), its atomic number ('30'), its atomic mass ('65.38'), and the word 'ZINC' itself. This fusion of abstract art with scientific information creates a unique conceptual layer, juxtaposing the subjective nature of portraiture with the objective world of chemistry.

Comprehensive profile with story:

profile_full <- art_profile_full_ai(
  story = "This piece celebrates hip-hop culture.",
  artist_name = "Bobby Fatemi",
  creation_time = "12 hours",
  art_title = "Portrait of Jeezy",
  img_path = "artwork.jpeg"
)
print(profile_full)
                                                                medium
                                                                <char>
1: Mixed media painting, likely acrylic and ink on a textured surface.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             description
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  <char>
1: This artwork, titled 'Portrait of Jeezy', is a vibrant and complex abstract piece rendered in a style reminiscent of Cubism. The composition is a dynamic collage of fragmented faces and multiple, expressive eyes that gaze directly at the viewer. The artist utilizes a bold and saturated color palette, with fields of electric blue, fiery orange, deep red, and vivid purple, all delineated by thick, black outlines that create a stained-glass effect. Integrated throughout the piece are scientific and chemical motifs, including the word 'ZINC', its elemental symbol 'ZN', its atomic number '30', its atomic mass '65.38', and several skeletal chemical formulas. This juxtaposition of organic portraiture and scientific data creates a multi-layered visual narrative, giving the overall impression of a deconstructed, multifaceted identity.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           inspiration
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <char>
1: The primary inspiration for this piece is a celebration of hip-hop culture, specifically through a portrait of the influential rapper Jeezy. The artist, Bobby Fatemi, seeks to capture the complexity and layered nature of the musician's persona and artistic impact. The fragmented, cubist style may represent the different facets of Jeezy's identity—as an artist, a storyteller, and a cultural figure. The unusual inclusion of the element Zinc and its associated chemical data serves as a powerful metaphor, perhaps suggesting that, like an essential element, Jeezy's contribution is fundamental and vital to the structure of the hip-hop genre.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          approach
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <char>
1: Artist Bobby Fatemi created this piece over a period of 12 hours, employing a meticulous and layered technique. The approach involves deconstructing the human face and reassembling it from multiple viewpoints, a hallmark of Cubist exploration. Bold black lines are used to define the fractured planes and contain the vibrant, flat areas of color. The artist deliberately integrates text and scientific diagrams into the composition, treating them as visual elements equal to the facial features. This collage-like method blends different systems of representation—artistic, linguistic, and scientific—onto a single, textured canvas, challenging the boundaries of traditional portraiture.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     impact
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     <char>
1: The artwork holds significance as a unique and contemporary tribute to a major figure in hip-hop. For the artist, it represents a successful fusion of disparate interests—portraiture, music, and chemistry—into a cohesive and personal artistic statement. For the audience, 'Portrait of Jeezy' offers a visually stimulating experience that encourages deeper interpretation. It prompts viewers to consider the symbolic connections between a musical artist and the scientific world, pushing them beyond a surface-level likeness to contemplate the subject's essential impact and complex identity. The piece stands as a powerful example of how abstract art can be used to convey specific cultural narratives and intellectual concepts.

Provider Switching

Auto-detect (default):

art_style_ai("artwork.jpeg") # Uses Gemini
                                tag                         tag_norm
                             <char>                           <char>
1:       Cubist-Inspired Figuration       cubist-inspired figuration
2: Vibrant, Saturated Color Palette vibrant, saturated color palette
3:              Bold Black Outlines              bold black outlines
4:   Dense, Overlapping Composition   dense, overlapping composition
5:         Stylized, Prominent Eyes         stylized, prominent eyes
6:                 Textured Surface                 textured surface
7:   Scientific and Textual Collage   scientific and textual collage
                                                                                                                                        desc
                                                                                                                                      <char>
1:     Faces are deconstructed into geometric planes and reassembled, showing multiple viewpoints simultaneously in an abstract composition.
2:  The artwork utilizes intense, high-chroma colors like electric blue, magenta, and orange, creating a visually energetic and bold effect.
3:                 Thick, dark lines define forms and separate the vivid color blocks, similar to the style of stained glass or cloisonnism.
4:            The canvas is filled with interlocking faces and abstract shapes, creating a complex visual field with minimal negative space.
5: Eyes are rendered as large, almond-shaped focal points with detailed irises and exaggerated eyelashes, commanding the viewer's attention.
6:     The artwork's surface appears crinkled and layered, suggesting a physical texture that adds depth and a tactile quality to the piece.
7:         The artist incorporates scientific imagery, such as chemical structure diagrams, alongside numbers and text like the word 'ZINC'.

Explicit provider:

art_style_ai("artwork.jpeg", provider = "openai")
                               tag                       tag_norm
                            <char>                         <char>
 1:        Fragmented cubist faces        fragmented cubist faces
 2:    Vivid high-contrast palette    vivid high-contrast palette
 3:       Bold black contour lines       bold black contour lines
 4:      Asymmetrical eye emphasis      asymmetrical eye emphasis
 5:     Text and chemical notation     text and chemical notation
 6:   Layered textures and impasto   layered textures and impasto
 7: Dynamic compositional crowding dynamic compositional crowding
 8:    Geometric-organic interplay    geometric-organic interplay
 9:          Symbolic color zoning          symbolic color zoning
10:  Surreal anatomical distortion  surreal anatomical distortion
                                                                                                                                               desc
                                                                                                                                             <char>
 1:                 Multiple overlapping faces are broken into angular planes, recalling cubist deconstruction of form and simultaneous viewpoints.
 2:                     Intense primaries and saturated secondary colors clash against each other, heightening visual energy and emotional tension.
 3:                               Thick, dark outlines separate color fields and facial features, giving a stained-glass clarity and graphic punch.
 4:                       Large, stylized eyes dominate the composition, varied in size and direction, creating psychological intensity and unease.
 5: Letters, numbers, and molecular diagrams integrate with faces, suggesting scientific themes and merging portraiture with diagrammatic language.
 6:                               Visible surface texture and raised paint areas catch light, adding tactile depth beneath the flat graphic shapes.
 7:                             Faces and shapes are tightly packed with minimal negative space, producing a claustrophobic, buzzing visual rhythm.
 8:                    Curved facial contours intersect with sharp triangles and polygons, balancing mechanical structure with biomorphic softness.
 9:                      Individual facial regions are assigned distinct hues, implying emotional or psychological segmentation within each figure.
10:                      Noses, mouths, and chins are displaced or duplicated, bending realistic anatomy into dreamlike, expressive configurations.

Environment variable:

Sys.setenv(ARTCURATOR_PROVIDER = "openai")
art_style_ai("artwork.jpeg") # Now uses OpenAI
                                  tag                          tag_norm
                               <char>                            <char>
 1:           Fragmented cubist faces           fragmented cubist faces
 2:       Vivid high-contrast palette       vivid high-contrast palette
 3:          Bold black contour lines          bold black contour lines
 4:         Flattened pictorial space         flattened pictorial space
 5:    Chemical and scientific motifs    chemical and scientific motifs
 6:        Textural surface treatment        textural surface treatment
 7:         Asymmetrical eye emphasis         asymmetrical eye emphasis
 8: Color-blocked facial segmentation color-blocked facial segmentation
 9:         Red border framing device         red border framing device
10:           Stylized lips and noses           stylized lips and noses
                                                                                                                               desc
                                                                                                                             <char>
 1: Multiple overlapping faces are broken into angular planes, recalling cubist deconstruction of form and simultaneous viewpoints.
 2:     Intense primaries and saturated secondary colors clash against each other, heightening visual energy and emotional tension.
 3:               Thick, dark outlines separate color fields and facial features, giving a stained-glass clarity to complex shapes.
 4:         Depth is minimized; faces and shapes sit on a single plane, emphasizing pattern and surface over realistic perspective.
 5:    Molecular diagrams, ‘Zn’ labels, and numeric notations introduce a scientific layer contrasting with expressive portraiture.
 6:             Visible cracks, ridges, and irregular paint application create tactile richness that counters the graphic flatness.
 7:     Large, stylized eyes dominate the composition, varied in size and direction, generating psychological intensity and unease.
 8:                   Faces are divided into sharply bounded color zones, suggesting emotional multiplicity and fractured identity.
 9:                    A strong red edge on the left and top acts as a visual frame, containing and intensifying the central chaos.
10:              Simplified, repeated mouth and nose shapes function as motifs, reinforcing rhythm rather than anatomical accuracy.

Model selection:

art_about_ai("artwork.jpeg", provider = "gemini", ml = "gemini-2.5-pro")
[1] "This abstract composition depicts a dense collage of fragmented faces, interwoven with scientific notations and diagrams relating to the element zinc. The style is heavily influenced by Cubism, characterized by sharp angles, multiple perspectives, and bold black outlines that delineate the forms. A vibrant, high-contrast palette of electric blues, reds, pinks, and oranges dominates the textured canvas. The overall mood is energetic and intense, with the multitude of staring eyes creating a direct and almost confrontational engagement with the viewer."
attr(,"modelVersion")
[1] "gemini-2.5-pro"
attr(,"usageMetadata")
attr(,"usageMetadata")$promptTokenCount
[1] 316

attr(,"usageMetadata")$candidatesTokenCount
[1] 98

attr(,"usageMetadata")$totalTokenCount
[1] 1809

attr(,"usageMetadata")$promptTokensDetails
attr(,"usageMetadata")$promptTokensDetails[[1]]
attr(,"usageMetadata")$promptTokensDetails[[1]]$modality
[1] "TEXT"

attr(,"usageMetadata")$promptTokensDetails[[1]]$tokenCount
[1] 58


attr(,"usageMetadata")$promptTokensDetails[[2]]
attr(,"usageMetadata")$promptTokensDetails[[2]]$modality
[1] "IMAGE"

attr(,"usageMetadata")$promptTokensDetails[[2]]$tokenCount
[1] 258



attr(,"usageMetadata")$thoughtsTokenCount
[1] 1395

attr(,"prompt_versions")
attr(,"prompt_versions")$system
[1] "v1"

attr(,"prompt_versions")$user
[1] "v1"
art_about_ai("artwork.jpeg", provider = "openai", ml = "gpt-5.1")
[1] "This artwork presents a dense cluster of overlapping, stylized faces rendered in a fragmented, cubist-inspired manner. Bold black outlines carve the composition into angular planes filled with saturated hues of turquoise, red, yellow, orange, pink, and electric blue. The large, almond-shaped eyes and elongated noses dominate the faces, giving them a heightened, almost surreal expressiveness. Chemical formulas and the word “ZINC” appear across the surface, adding a scientific or symbolic layer to the imagery. The palette’s brightness and high contrast create an energetic, almost frenetic mood, while the crowded arrangement of faces suggests psychological complexity and interconnectedness."
attr(,"response_id")
[1] "resp_0cd3b4aec46a2e52006950f806a6a8819a9263cee61d67daf9"
attr(,"model")
[1] "gpt-5.1-2025-11-13"
attr(,"usage")
attr(,"usage")$input_tokens
[1] 274

attr(,"usage")$input_tokens_details
attr(,"usage")$input_tokens_details$cached_tokens
[1] 0


attr(,"usage")$output_tokens
[1] 136

attr(,"usage")$output_tokens_details
attr(,"usage")$output_tokens_details$reasoning_tokens
[1] 0


attr(,"usage")$total_tokens
[1] 410

attr(,"prompt_versions")
attr(,"prompt_versions")$system
[1] "v1"

attr(,"prompt_versions")$user
[1] "v1"

Complete Workflow

analyze_artwork <- function(img_path, art_title, artist_name,
                            drawing_hours, brush_strokes,
                            provider = NULL) {
  styles <- art_style_ai(img_path, provider = provider)

  desc <- art_about_ai(img_path, provider = provider)

  profile <- art_profile_ai(
    art_title, artist_name, drawing_hours, brush_strokes,
    img_path,
    provider = provider
  )
  classifications <- classify_styles_ai(styles$tag, provider = provider)

  list(
    styles = styles,
    description = desc,
    profile = profile,
    classifications = classifications
  )
}

res <- analyze_artwork(
  img_path = "artwork.jpeg",
  art_title = "Portrait of Jeezy",
  artist_name = "Bobby Fatemi",
  drawing_hours = 12,
  brush_strokes = 5000,
  provider = "gemini"
)
res
$styles
                                tag                         tag_norm
                             <char>                           <char>
1:       Cubist-Inspired Figuration       cubist-inspired figuration
2: Vibrant, Saturated Color Palette vibrant, saturated color palette
3:              Bold Black Outlines              bold black outlines
4:   Dense, Overlapping Composition   dense, overlapping composition
5:         Stylized, Prominent Eyes         stylized, prominent eyes
6:                 Textured Surface                 textured surface
7:   Scientific and Textual Collage   scientific and textual collage
                                                                                                                                           desc
                                                                                                                                         <char>
1:               Faces are deconstructed into geometric planes and reassembled from multiple viewpoints, showing a clear influence from Cubism.
2:  The artwork utilizes intense, high-chroma colors like electric blue, magenta, and orange, creating a visually energetic and bold statement.
3:    Thick, dark lines define the fragmented shapes and separate the vivid color blocks, similar to the style of stained glass or cloisonnism.
4: The canvas is filled with interlocking faces and abstract forms, leaving little negative space and creating a dynamic, crowded visual field.
5:      Eyes are rendered as large, almond-shaped focal points with detailed lashes, often staring directly at the viewer with an intense gaze.
6:          The painting's surface shows physical texture, with visible crinkles and impasto-like qualities that add tactile depth to the work.
7:            The artist incorporates scientific imagery, such as chemical structure diagrams, alongside numbers and text like the word 'ZINC'.

$description
[1] "This vibrant abstract painting features a dense collage of fragmented human faces, dominated by large, stylized eyes that gaze directly at the viewer. The artist employs a style reminiscent of Cubism, using bold black outlines to define overlapping planes and fractured perspectives. The palette is highly saturated and energetic, featuring electric blues, bright reds, oranges, and pinks. Scientific elements, including chemical diagrams, the word \"ZINC,\" and its atomic number and mass, are integrated into the composition. The overall mood is one of intense, chaotic energy, merging human portraiture with the language of chemistry."
attr(,"modelVersion")
[1] "gemini-2.5-pro"
attr(,"usageMetadata")
attr(,"usageMetadata")$promptTokenCount
[1] 316

attr(,"usageMetadata")$candidatesTokenCount
[1] 116

attr(,"usageMetadata")$totalTokenCount
[1] 1669

attr(,"usageMetadata")$promptTokensDetails
attr(,"usageMetadata")$promptTokensDetails[[1]]
attr(,"usageMetadata")$promptTokensDetails[[1]]$modality
[1] "TEXT"

attr(,"usageMetadata")$promptTokensDetails[[1]]$tokenCount
[1] 58


attr(,"usageMetadata")$promptTokensDetails[[2]]
attr(,"usageMetadata")$promptTokensDetails[[2]]$modality
[1] "IMAGE"

attr(,"usageMetadata")$promptTokensDetails[[2]]$tokenCount
[1] 258



attr(,"usageMetadata")$thoughtsTokenCount
[1] 1237

attr(,"prompt_versions")
attr(,"prompt_versions")$system
[1] "v1"

attr(,"prompt_versions")$user
[1] "v1"


$profile
               category
                 <char>
1: Abstract Portraiture
                                                                                                                                                                                                                                                                                                   style
                                                                                                                                                                                                                                                                                                  <char>
1: The artwork is executed in a vibrant, Abstract Cubist style. It deconstructs and reassembles multiple faces from various perspectives simultaneously, characterized by geometric shapes, distorted features, and a flattened sense of depth, reminiscent of early 20th-century avant-garde movements.
                                                                                                                                                                                                                                                                                                  methodology
                                                                                                                                                                                                                                                                                                       <char>
1: Titled 'Portrait of Jeezy', this piece was meticulously created by artist Bobby Fatemi over 12 hours, utilizing an estimated 5000 individual brush strokes. The technique involves layering bold colors and thick, definitive lines on a textured surface to construct fragmented and overlapping visages.
                                                                                                                                                                                                                                                                                                          color
                                                                                                                                                                                                                                                                                                         <char>
1: A dynamic and high-contrast color profile dominates the canvas. Saturated primary and secondary colors—including electric blues, fiery reds and oranges, and vivid magentas—are juxtaposed to create a powerful visual energy. The bold black outlines serve to contain and define the intense color fields.
                                                                                                                                                                                                                                                                                                                                 details
                                                                                                                                                                                                                                                                                                                                  <char>
1: A fascinating and distinctive detail is the integration of scientific iconography. The painting is layered with chemical structure diagrams and explicit references to the element Zinc, including its name, atomic symbol (Zn), atomic number (30), and atomic mass (65.38), creating a unique fusion of portrait art and chemistry.

$classifications
                                tag      category
                             <char>        <char>
1:       Cubist-Inspired Figuration        Cubism
2: Vibrant, Saturated Color Palette       Fauvism
3:              Bold Black Outlines       Pop Art
4:   Dense, Overlapping Composition        Cubism
5:         Stylized, Prominent Eyes Expressionism
6:                 Textured Surface Expressionism
7:   Scientific and Textual Collage          Dada

Integration Pattern: artpipelines

Real-world example - how artpipelines uses artcurator:

create_styles_tables <- function(artist, artwork, art_title,
                                 artist_name, drawing_hours,
                                 brush_strokes, img_path, provider = NULL) {
  stylesDT <- art_style_ai(img_path, provider = provider)

  list(
    artwork_styles = cbind(
      data.table(
        artist_uuid = artist, art_uuid = artwork,
        art_about = art_about_ai(img_path, provider = provider),
        style_json = jsonlite::toJSON(stylesDT)
      ),
      art_profile_ai(art_title, artist_name, drawing_hours,
        brush_strokes, img_path,
        provider = provider
      )
    ),
    global_styles = cbind(
      data.table(artist_uuid = artist, art_uuid = artwork),
      stylesDT
    )
  )
}

tables <- create_styles_tables(
  "artist-uuid", "artwork-uuid", "Portrait of Jeezy",
  "Bobby Fatemi", 12, 5000, "artwork.jpeg", "gemini"
)
str(tables, max.level = 2)
List of 2
 $ artwork_styles:Classes 'data.table' and 'data.frame':    1 obs. of  9 variables:
  ..$ artist_uuid: chr "artist-uuid"
  ..$ art_uuid   : chr "artwork-uuid"
  ..$ art_about  : chr "This abstract artwork depicts a dense collage of fragmented faces, with a primary focus on numerous stylized ey"| __truncated__
  .. ..- attr(*, "modelVersion")= chr "gemini-2.5-pro"
  .. ..- attr(*, "usageMetadata")=List of 5
  .. ..- attr(*, "prompt_versions")=List of 2
  ..$ style_json : 'json' chr "[{\"tag\":\"Cubist-Inspired Figuration\",\"tag_norm\":\"cubist-inspired figuration\",\"desc\":\"Faces are decon"| __truncated__
  ..$ category   : chr "Abstract Portraiture"
  ..$ style      : chr "The artwork is a contemporary interpretation of Cubism, characterized by its deconstruction of form and present"| __truncated__
  ..$ methodology: chr "Titled 'Portrait of Jeezy', this piece was meticulously created by artist Bobby Fatemi over 12 hours, involving"| __truncated__
  ..$ color      : chr "The color profile is exceptionally vibrant and high-contrast, utilizing a broad spectrum of saturated hues. Ele"| __truncated__
  ..$ details    : chr "A distinctive feature of this artwork is the integration of scientific and chemical motifs. The composition is "| __truncated__
  ..- attr(*, ".internal.selfref")=<externalptr>
 $ global_styles :Classes 'data.table' and 'data.frame':    7 obs. of  5 variables:
  ..$ artist_uuid: chr [1:7] "artist-uuid" "artist-uuid" "artist-uuid" "artist-uuid" ...
  ..$ art_uuid   : chr [1:7] "artwork-uuid" "artwork-uuid" "artwork-uuid" "artwork-uuid" ...
  ..$ tag        : chr [1:7] "Cubist-Inspired Figuration" "Vibrant, Saturated Color Palette" "Bold Black Outlines" "Dense, Overlapping Composition" ...
  ..$ tag_norm   : chr [1:7] "cubist-inspired figuration" "vibrant, saturated color palette" "bold black outlines" "dense, overlapping composition" ...
  ..$ desc       : chr [1:7] "Faces are deconstructed into geometric planes and reassembled, showing multiple viewpoints simultaneously in an"| __truncated__ "The artwork utilizes intense, high-chroma colors like electric blue, magenta, and orange, creating a visually e"| __truncated__ "Thick, dark lines define forms and separate the vivid color blocks, similar to the style of stained glass or cloisonnism." "The canvas is filled with interlocking faces and abstract shapes, creating a complex visual field with minimal negative space." ...
  ..- attr(*, ".internal.selfref")=<externalptr> 

Pattern: Use artcurator functions as building blocks in wrapper functions


Best Practices

Temperature Guidelines

Task Temperature
Style extraction 0
Tag classification 0
Descriptions 0.7
# Deterministic
styles <- art_style_ai("artwork.jpeg", temp = 0)

# Creative
desc <- art_about_ai("artwork.jpeg", temp = 0.7)

Error Handling

safe_analyze <- function(img_path) {
  tryCatch(
    art_style_ai(img_path),
    error = function(e) {
      message("Failed: ", conditionMessage(e))
      NULL
    }
  )
}

Batch Processing

imgs <- c("art1.jpeg", "art2.jpeg", "art3.jpeg")

results <- lapply(imgs, function(img) {
  tryCatch(
    {
      list(file = img, styles = art_style_ai(img), success = TRUE)
    },
    error = function(e) {
      list(file = img, error = conditionMessage(e), success = FALSE)
    }
  )
})

successful <- Filter(function(x) x$success, results)
cat("Processed", length(successful), "/", length(results), "\n")
Processed 0 / 3 

Next Steps