Instructions to use bbbboiwow/cocccck with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Diffusers
How to use bbbboiwow/cocccck with Diffusers:
pip install -U diffusers transformers accelerate
import torch from diffusers import DiffusionPipeline # switch to "mps" for apple devices pipe = DiffusionPipeline.from_pretrained("bbbboiwow/cocccck", dtype=torch.bfloat16, device_map="cuda") prompt = "Astronaut in a jungle, cold color palette, muted colors, detailed, 8k" image = pipe(prompt).images[0] - Notebooks
- Google Colab
- Kaggle
| import random | |
| import math | |
| import comfy.sample | |
| import latent_preview | |
| class SimpleSampler: | |
| def __init__(self): | |
| pass | |
| def INPUT_TYPES(s): | |
| return { | |
| "required": { | |
| "model": ("MODEL",), | |
| "sampler": ( | |
| [ | |
| "Normal - euler", | |
| "Normal - uni_pc", | |
| "LCM Lora - lcm", | |
| "SDXL Turbo - dpmpp_sde karras", | |
| ], | |
| ), | |
| "positive": ("CONDITIONING",), | |
| "negative": ("CONDITIONING",), | |
| "latents": ("LATENT",), | |
| "mode": (["txt2img", "img2img"],), | |
| }, | |
| "optional": { | |
| "seed": ( | |
| "INT", | |
| { | |
| "forceInput": True, | |
| }, | |
| ), | |
| }, | |
| } | |
| RETURN_TYPES = ("LATENT",) | |
| FUNCTION = "sample" | |
| CATEGORY = "Chibi-Nodes" | |
| def IS_CHANGED(s, **kwargs): | |
| random.seed() | |
| return float("NaN") | |
| def sample( | |
| self, | |
| model, | |
| sampler, | |
| positive, | |
| negative, | |
| latents, | |
| mode, | |
| seed=None, | |
| scheduler="normal", | |
| sampler_name="euler", | |
| ): | |
| # ['euler', 'euler_ancestral', 'heun', 'heunpp2', 'dpm_2', 'dpm_2_ancestral', 'lms', 'dpm_fast', 'dpm_adaptive','dpmpp_2s_ancestral', 'dpmpp_sde', 'dpmpp_sde_gpu', 'dpmpp_2m', 'dpmpp_2m_sde', 'dpmpp_2m_sde_gpu', 'dpmpp_3m_sde', 'dpmpp_3m_sde_gpu', 'ddpm', 'lcm', 'ddim', 'uni_pc', 'uni_pc_bh2'] | |
| # ['normal', 'karras', 'exponential', 'sgm_uniform', 'simple', 'ddim_uniform'] | |
| match sampler: | |
| case "Normal - euler": | |
| sampler_name = "uni_pc" | |
| steps = 20 | |
| cfg = 7 | |
| case "Normal - uni_pc": | |
| sampler_name = "uni_pc" | |
| steps = 20 | |
| cfg = 7 | |
| case "LCM Lora - lcm": | |
| sampler_name = "lcm" | |
| steps = 8 | |
| cfg = 1.8 | |
| case "SDXL Turbo - dpmpp_sde karras": | |
| sampler_name = "ddmpp_sde" | |
| steps = 8 | |
| cfg = 1.8 | |
| scheduler = "karras" | |
| case _: | |
| steps = 20 | |
| cfg = 7 | |
| match mode: | |
| case "txt2img": | |
| denoise = 1.0 | |
| case "img2img": | |
| denoise = 0.6 | |
| case _: | |
| denoise = 1.0 | |
| if seed is not None: | |
| random.seed(seed) | |
| else: | |
| random.seed() | |
| seed = math.floor(random.random() * 10000000000000000) | |
| latent_image = latents["samples"] | |
| batch_inds = latents["batch_index"] if "batch_index" in latents else None | |
| noise = comfy.sample.prepare_noise(latent_image, seed, batch_inds) | |
| noise_mask = None | |
| if "noise_mask" in latents: | |
| noise_mask = latents["noise_mask"] | |
| callback = latent_preview.prepare_callback(model, steps) | |
| samples = comfy.sample.sample( | |
| model=model, | |
| noise=noise, | |
| steps=steps, | |
| cfg=cfg, | |
| sampler_name=sampler_name, | |
| scheduler=scheduler, | |
| positive=positive, | |
| negative=negative, | |
| latent_image=latent_image, | |
| denoise=denoise, | |
| disable_noise=False, | |
| start_step=0, | |
| last_step=steps, | |
| force_full_denoise=True, | |
| noise_mask=noise_mask, | |
| callback=callback, | |
| disable_pbar=False, | |
| seed=seed, | |
| ) | |
| out = latents.copy() | |
| out["samples"] = samples | |
| return (out,) | |