Spaces:
Running
Running
File size: 1,836 Bytes
abb2753 b3e6b4d abb2753 b3e6b4d ff91eea abb2753 dbd3377 bc176b7 16c06bf abb2753 16c06bf dbd3377 b3e6b4d e838dda ff91eea |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
import click
import dotenv
import segno
from huggingface_hub import InferenceClient
from qrcode_artistic import write_artistic
from segno.consts import ERROR_MAPPING
from myapp.palette import extract_color_clusters, generate_palette_image
from myapp.params import ImageParamType
dotenv.load_dotenv()
client = InferenceClient()
@click.group()
def cli():
pass
@cli.command()
@click.option("--prompt", required=True)
@click.option("--target", type=click.Path(dir_okay=False), required=True)
@click.option("--model", default="black-forest-labs/FLUX.1-schnell")
@click.option("--width", default=400)
@click.option("--height", default=400)
def generate_image(prompt, target, model, width, height):
image = client.text_to_image(
prompt=prompt,
model=model,
width=width,
height=height,
)
image.save(target)
@cli.command()
@click.option("--image", type=ImageParamType(), required=True)
@click.option("--target", type=click.Path(dir_okay=False), required=True)
@click.option("--n-colors", default=4)
@click.option("--shade", "shades", default=(0.0,), multiple=True)
def generate_palette(image, target, n_colors, shades):
k_means = extract_color_clusters(image, n_colors)
palette = generate_palette_image(k_means, shades=shades)
palette.save(target)
@cli.command()
@click.option("--text", required=True)
@click.option("--background", type=ImageParamType(), required=True)
@click.option("--target", type=click.Path(dir_okay=False), required=True)
@click.option("--scale", type=click.IntRange(min=3, max=15), default=9)
@click.option("--error", type=click.Choice(list(ERROR_MAPPING)))
def generate_qr_code(text, background, target, scale, error):
write_artistic(
segno.make(text, error=error),
background.filename,
target,
scale=scale,
)
|