import gradio as gr import numpy as np from myapp.palette import array_to_hex, extract_color_clusters with gr.Blocks() as demo: image = gr.Image("vulture.webp") n_colors = gr.Slider(1, 16, 4, step=1) button = gr.Button() @gr.render(inputs=[image, n_colors]) def render_palette(image_array: np.ndarray, n_clusers: int): model = extract_color_clusters(image_array, n_clusers) for cluster in model.cluster_centers_: gr.ColorPicker(array_to_hex(cluster)) if __name__ == "__main__": demo.launch()