Instructions to use vidfom/wan-t2v with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Diffusers
How to use vidfom/wan-t2v with Diffusers:
pip install -U diffusers transformers accelerate
import torch from diffusers import DiffusionPipeline # switch to "mps" for apple devices pipe = DiffusionPipeline.from_pretrained("vidfom/wan-t2v", 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
| from PIL import Image, ImageDraw, ImageFont | |
| import random | |
| def visualize_masks(image, masks, mask_prompts, output_path, font_size=35, use_random_colors=False): | |
| # Create a blank image for overlays | |
| overlay = Image.new('RGBA', image.size, (0, 0, 0, 0)) | |
| colors = [ | |
| (165, 238, 173, 80), | |
| (76, 102, 221, 80), | |
| (221, 160, 77, 80), | |
| (204, 93, 71, 80), | |
| (145, 187, 149, 80), | |
| (134, 141, 172, 80), | |
| (157, 137, 109, 80), | |
| (153, 104, 95, 80), | |
| (165, 238, 173, 80), | |
| (76, 102, 221, 80), | |
| (221, 160, 77, 80), | |
| (204, 93, 71, 80), | |
| (145, 187, 149, 80), | |
| (134, 141, 172, 80), | |
| (157, 137, 109, 80), | |
| (153, 104, 95, 80), | |
| ] | |
| # Generate random colors for each mask | |
| if use_random_colors: | |
| colors = [(random.randint(0, 255), random.randint(0, 255), random.randint(0, 255), 80) for _ in range(len(masks))] | |
| # Font settings | |
| try: | |
| font = ImageFont.truetype("arial", font_size) # Adjust as needed | |
| except IOError: | |
| font = ImageFont.load_default(font_size) | |
| # Overlay each mask onto the overlay image | |
| for mask, mask_prompt, color in zip(masks, mask_prompts, colors): | |
| # Convert mask to RGBA mode | |
| mask_rgba = mask.convert('RGBA') | |
| mask_data = mask_rgba.getdata() | |
| new_data = [(color if item[:3] == (255, 255, 255) else (0, 0, 0, 0)) for item in mask_data] | |
| mask_rgba.putdata(new_data) | |
| # Draw the mask prompt text on the mask | |
| draw = ImageDraw.Draw(mask_rgba) | |
| mask_bbox = mask.getbbox() # Get the bounding box of the mask | |
| text_position = (mask_bbox[0] + 10, mask_bbox[1] + 10) # Adjust text position based on mask position | |
| draw.text(text_position, mask_prompt, fill=(255, 255, 255, 255), font=font) | |
| # Alpha composite the overlay with this mask | |
| overlay = Image.alpha_composite(overlay, mask_rgba) | |
| # Composite the overlay onto the original image | |
| result = Image.alpha_composite(image.convert('RGBA'), overlay) | |
| # Save or display the resulting image | |
| result.save(output_path) | |
| return result | |