Skip to content
/ bfl Public

R Wrapper for Black Forest Labs API

License

Unknown, MIT licenses found

Licenses found

Unknown
LICENSE
MIT
LICENSE.md
Notifications You must be signed in to change notification settings

gacolitti/bfl

Repository files navigation

bfl

Lifecycle: experimental

The goal of the bfl package is to simplify the creation of FLUX images using the Black Forest Labs (BFL) API. The API provides access to endpoints for four distinct FLUX models and three FLUX tools, enabling users to generate and manipulate high-quality images with ease. To learn more about the models, visit Black Forest Labs FLUX Models.

Installation

You can install the development version of bfl from GitHub with:

# install.packages("pak")
pak::pak("gacolitti/bfl")

Authentication

To use the bfl package, you need an API key from Black Forest Labs. To authenticate, define an environment variable named BFL_API_KEY in your .Renviron file with your API key value.

For example, add the following line to your .Renviron file:

BFL_API_KEY=your_api_key_here

Examples

FLUX Dev

library(bfl)
library(magick)

gen_flux_dev(
  prompt = "cypherpunk girl with red sunglasses, futuristic scene in the background",
  prompt_upsampling = TRUE,
  seed = 2
)

FLUX Pro

gen_flux_pro(
  prompt = "cypherpunk girl with red sunglasses, futuristic scene in the background",
  prompt_upsampling = TRUE,
  seed = 1
)

FLUX Pro Ultra

gen_flux_pro1.1_ultra(
  prompt = "cypherpunk girl with red sunglasses, futuristic scene in the background",
  prompt_upsampling = TRUE,
  seed = 1
)

FLUX Fill Pro

mask <- base64enc::base64encode(system.file("/images/backyard-original_mask.jpeg", package = "bfl"))
image <- base64enc::base64encode(system.file("/images/backyard-original.jpeg", package = "bfl"))
res <- bfl::gen_flux_fill_pro1(
  image = image,
  mask = mask,
  prompt = "alien spaceship, ultrarealistic, detailed",
  seed = 200,
  steps = 50,
  prompt_upsampling = FALSE,
  download_path = "inst/images/backyard-spaceship-fill-example.jpeg"
)

original_mask <- image_read(system.file("/images/backyard-original_mask.jpeg", package = "bfl"))
original <- image_read(system.file("/images/backyard-original.jpeg", package = "bfl"))
output <- image_read(res$result$sample)

images_edited <- purrr::imap(
  list(
    "Original" = original, 
    "Original Mask" = original_mask,
    "FLUX Fill Output" = output
  ),
  ~ image_annotate(
      .x,
      text = .y,
      size = 100,
      gravity = "south",
      color = "white"
    )
)

image_mosaic(image_append(do.call(c, images_edited)))

FLUX Depth Pro

control_image <- base64enc::base64encode(system.file("/images/low-res-pink-hair-figurine.jpeg", package = "bfl"))
res <- gen_flux_depth_pro1(
   control_image = control_image,
   prompt = paste0(
     "small humanoid creature with pink hair gently grasped by a human thumb and three fingers, ",
     "mars desert and sand dunes in the background, ultrarealistic, detailed"
   ),
   seed = 2,
   steps = 50,
   prompt_upsampling = TRUE
 )

original <- image_read(system.file("/images/low-res-pink-hair-figurine.jpeg", package = "bfl"))
output <- image_read(res$result$sample)

images_edited <- purrr::imap(
  list(
    "Original" = original, 
    "FLUX Depth Output" = output
  ),
  ~ image_annotate(
      .x,
      text = .y,
      size = 100,
      gravity = "south",
      color = "white"
    )
)

image_mosaic(image_append(do.call(c, images_edited)))

About

R Wrapper for Black Forest Labs API

Resources

License

Unknown, MIT licenses found

Licenses found

Unknown
LICENSE
MIT
LICENSE.md

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages