import torch
from diffusers import AutoPipelineForText2Image
pipe = AutoPipelineForText2Image.from_pretrained(
"kandinsky-community/kandinsky-3",
variant="fp16",
torch_dtype=torch.float16
).to("cuda")
# English
image_en = pipe("A red fox in a snowy forest").images[0]
# Russian
image_ru = pipe("Красная лиса в снежном лесу").images[0]
# Chinese
image_zh = pipe("雪林中的红狐狸").images[0]
# German
image_de = pipe("Ein roter Fuchs im verschneiten Wald").images[0]
# All produce similar images!
import torch
from diffusers import KandinskyV22PriorPipeline, KandinskyV22Pipeline
from diffusers.utils import load_image
prior = KandinskyV22PriorPipeline.from_pretrained(
"kandinsky-community/kandinsky-2-2-prior",
torch_dtype=torch.float16
).to("cuda")
decoder = KandinskyV22Pipeline.from_pretrained(
"kandinsky-community/kandinsky-2-2-decoder",
torch_dtype=torch.float16
).to("cuda")
# Two prompts to mix
prompt1 = "A cat"
prompt2 = "A dog"
# Get embeddings for both
embeds1, neg1 = prior(prompt1).to_tuple()
embeds2, neg2 = prior(prompt2).to_tuple()
# Mix embeddings (50% each)
mixed_embeds = 0.5 * embeds1 + 0.5 * embeds2
mixed_neg = 0.5 * neg1 + 0.5 * neg2
# Generate mixed image
image = decoder(
image_embeds=mixed_embeds,
negative_image_embeds=mixed_neg,
height=768,
width=768
).images[0]
image.save("cat_dog_mix.png")
import torch
from diffusers import AutoPipelineForInpainting
from diffusers.utils import load_image
pipe = AutoPipelineForInpainting.from_pretrained(
"kandinsky-community/kandinsky-2-2-decoder-inpaint",
torch_dtype=torch.float16
).to("cuda")
# Load image and mask
image = load_image("photo.png")
mask = load_image("mask.png")
# Inpaint
result = pipe(
prompt="A golden crown",
image=image,
mask_image=mask,
num_inference_steps=50
).images[0]
result.save("inpainted.png")
import torch
from diffusers import AutoPipelineForImage2Image
from diffusers.utils import load_image
pipe = AutoPipelineForImage2Image.from_pretrained(
"kandinsky-community/kandinsky-3",
variant="fp16",
torch_dtype=torch.float16
).to("cuda")
init_image = load_image("sketch.png")
image = pipe(
prompt="A detailed digital painting of a castle, fantasy art",
image=init_image,
strength=0.75,
num_inference_steps=50
).images[0]
image.save("castle.png")
import torch
from diffusers import AutoPipelineForText2Image
批处理处理
pipe = AutoPipelineForText2Image.from_pretrained(
"kandinsky-community/kandinsky-3",
variant="fp16",
torch_dtype=torch.float16
).to("cuda")
prompts = [
"A serene Japanese garden with cherry blossoms",
"A cyberpunk city at night with neon lights",
"An ancient library filled with magical books",
"A cozy cabin in the mountains during winter"
]
os.makedirs("outputs", exist_ok=True)
for i, prompt in enumerate(prompts):
image = pipe(
os.makedirs("./variations", exist_ok=True)
num_inference_steps=50,
guidance_scale=4.0
).images[0]
image.save(f"outputs/image_{i}.png")
print(f"Generated: {prompt[:30]}...")
torch.cuda.empty_cache()