Joseph Nathan Cohen

Department of Sociology, CUNY Queens College, New York, NY


Generating images in the style of Ukiyo-e.

This post is an installment in the Generative AI Art Style series, a practical knowledge project designed to help content creators fine-tune the aesthetics of their generated images by references to and descriptions of popular art styles.  Click here to read more on the project.

This page depicts the results of mentioning Ukiyo-e in your prompt. Click here to learn about this project

Click here for this visual art style’s Wikipedia page

Generated Thick Descriptor (via Chat-GPT 4): Ukiyo-e art features flat areas of bright colors, stylized outlines, and details of daily Edo-period life. It often illustrates courtesans, kabuki actors, landscapes, or historical tales. To mimic this style, start with simple shapes with bold outlines, then fill using vivid colors. Incorporate Edo-era Japanese elements and scenes. Finally, accentuate with minimal shadows and details. Avoid western perspective to maintain Ukiyo-e’s characteristic 2-dimensional view.

The table below depicts New York City’s Times Square and Northern Ontario’s Lake Kenogamissi. The left column shows the results of a “thin” prompt, in which the style was requested in name only. The right column shows the results of a “thick” prompt, in which the generated prompt was used.

Times Square

These images show what Generative AI renders when one requests that an image be rendered in well-known art styles. This series does not purport to describe major art styles as understood in the art scholarship community. If you have expertise in art and want to explain why these images do or do not capture the essence of these fields, then please do so in the comments section below.



directory <- 'D:/Dropbox/Software/Artistic Styles Post'
setwd('D:/Dropbox/Software/Artistic Styles Post')

markdown_file_path <- paste0(directory, '/art_style_post_ukiyoe.rmd')
markdown_content <- readLines(markdown_file_path, warn = FALSE)
html_content <- markdownToHTML(text = markdown_content, fragment.only = TRUE)

site_url <- ''
endpoint <- paste0(site_url, '/wp-json/wp/v2/posts')

app_password <- password
auth <- authenticate(login, app_password, type = 'basic')
post_content <- list(
title   = 'Ukiyo-e',
status  = 'publish',
content = html_content,
excerpt = 'Generating images in the style of Ukiyo-e art.'

response <- POST(endpoint, auth, body = post_content, encode = 'json')
content(response, 'text') %>%