diff --git a/.changeset/shaggy-rules-reply.md b/.changeset/shaggy-rules-reply.md new file mode 100644 index 00000000000..f3a8aefba09 --- /dev/null +++ b/.changeset/shaggy-rules-reply.md @@ -0,0 +1,6 @@ +--- +"@gradio/workflowcanvas": minor +"gradio": minor +--- + +feat:workflow: add getting started templates diff --git a/gradio/_workflow_curated_snapshot.json b/gradio/_workflow_curated_snapshot.json index 858b2e11b08..fb3bcc2ca40 100644 --- a/gradio/_workflow_curated_snapshot.json +++ b/gradio/_workflow_curated_snapshot.json @@ -1,6 +1,6 @@ { - "snapshot_version": 1, - "fetched_at": "2026-06-09T00:00:00Z", + "snapshot_version": 2, + "fetched_at": "2026-07-20T13:23:24.328983Z", "items": [ { "kind": "space", @@ -8,17 +8,31 @@ "task": "text-to-image", "space_category": "image-generation", "modality": "image", - "title": "FLUX.1 schnell", - "description": "Fast, high-quality text-to-image", + "title": "FLUX.1 [Schnell]", + "description": "", "added_at": "2026-04-01T00:00:00Z", "featured": true, "zero_gpu": true, - "smoke_inputs": { "prompt": "a small red square" }, + "smoke_inputs": { + "prompt": "a small red square" + }, + "validation": { + "status": "ok", + "last_checked": null + } + }, + { + "kind": "model", + "id": "black-forest-labs/FLUX.1-schnell", + "task": "text-to-image", + "modality": "image", + "title": "FLUX.1 schnell", + "description": "", + "added_at": "2026-04-01T00:00:00Z", + "featured": true, "validation": { - "last_checked": "2026-06-08T03:14:00Z", "status": "ok", - "latency_ms": 1800, - "error": null + "last_checked": null } }, { @@ -28,16 +42,154 @@ "space_category": "image-generation", "modality": "image", "title": "Stable Diffusion 3.5 Large", - "description": "High-fidelity text-to-image", + "description": "Generate images with SD3.5", "added_at": "2026-04-01T00:00:00Z", "featured": true, "zero_gpu": true, - "smoke_inputs": { "prompt": "a small red square" }, + "smoke_inputs": { + "prompt": "a small red square", + "negative_prompt": "" + }, + "validation": { + "status": "ok", + "last_checked": null + } + }, + { + "kind": "space", + "id": "krea/Krea-2", + "task": "text-to-image", + "space_category": "image-generation", + "modality": "image", + "title": "Krea 2", + "description": "Krea 2 text-to-image (Raw + Turbo)", + "added_at": "2026-07-03T00:00:00Z", + "featured": true, + "zero_gpu": true, + "smoke_inputs": { + "prompt": "a small red square" + }, + "validation": { + "status": "ok", + "last_checked": null + } + }, + { + "kind": "model", + "id": "krea/Krea-2-Turbo", + "task": "text-to-image", + "modality": "image", + "title": "Krea 2 Turbo", + "description": "", + "added_at": "2026-07-03T00:00:00Z", + "featured": true, + "validation": { + "status": "ok", + "last_checked": null + } + }, + { + "kind": "model", + "id": "krea/Krea-2-Raw", + "task": "text-to-image", + "modality": "image", + "title": "Krea 2 Raw", + "description": "", + "added_at": "2026-07-03T00:00:00Z", + "featured": false, + "validation": { + "status": "ok", + "last_checked": null + } + }, + { + "kind": "space", + "id": "krea/krea-lora-the-explorer", + "task": "text-to-image", + "space_category": "image-generation", + "modality": "image", + "title": "Krea 2 LoRA the Explorer", + "description": "Explore Krea 2 style LoRAs on Turbo", + "added_at": "2026-07-03T00:00:00Z", + "featured": false, + "zero_gpu": true, + "smoke_inputs": { + "prompt": "a small red square" + }, + "validation": { + "status": "ok", + "last_checked": null + } + }, + { + "kind": "space", + "id": "stabilityai/sdxl-turbo", + "task": "text-to-image", + "space_category": "image-generation", + "modality": "image", + "title": "Sdxl Turbo", + "description": "", + "added_at": "2026-07-03T00:00:00Z", + "featured": false, + "zero_gpu": false, + "smoke_inputs": { + "prompt": "a small red square" + }, + "validation": { + "status": "ok", + "last_checked": null + } + }, + { + "kind": "space", + "id": "black-forest-labs/FLUX.1-dev", + "task": "text-to-image", + "space_category": "image-generation", + "modality": "image", + "title": "FLUX.1 [dev]", + "description": "", + "added_at": "2026-07-03T00:00:00Z", + "featured": true, + "zero_gpu": true, + "smoke_inputs": { + "prompt": "a small red square" + }, "validation": { - "last_checked": "2026-06-08T03:14:00Z", "status": "ok", - "latency_ms": 3200, - "error": null + "last_checked": null + } + }, + { + "kind": "model", + "id": "black-forest-labs/FLUX.1-dev", + "task": "text-to-image", + "modality": "image", + "title": "FLUX.1 dev", + "description": "", + "added_at": "2026-07-03T00:00:00Z", + "featured": true, + "validation": { + "status": "ok", + "last_checked": null + } + }, + { + "kind": "space", + "id": "mrfakename/Z-Image-Turbo", + "task": "text-to-image", + "space_category": "image-generation", + "modality": "image", + "title": "Z Image Turbo", + "description": "", + "added_at": "2026-07-03T00:00:00Z", + "featured": true, + "zero_gpu": true, + "smoke_inputs": { + "prompt": "a small red square" + }, + "validation": { + "status": "ok", + "last_checked": null } }, { @@ -46,16 +198,14 @@ "task": "image-to-image", "space_category": "image-editing", "modality": "image", - "title": "BRIA Background Removal", - "description": "Remove image backgrounds", + "title": "BRIA RMBG 2.0", + "description": "remove background from any image", "added_at": "2026-04-01T00:00:00Z", "featured": true, "zero_gpu": true, "validation": { - "last_checked": "2026-06-08T03:14:00Z", "status": "ok", - "latency_ms": 1100, - "error": null + "last_checked": null } }, { @@ -65,30 +215,45 @@ "space_category": "image-editing", "modality": "image", "title": "Face to All", - "description": "Stylize a face photo into many art styles", + "description": "AI filter for your portraits", "added_at": "2026-04-02T00:00:00Z", "featured": false, - "zero_gpu": true, + "zero_gpu": false, "validation": { - "last_checked": "2026-06-08T03:14:00Z", "status": "ok", - "latency_ms": 2400, - "error": null + "last_checked": null } }, { - "kind": "model", - "id": "Salesforce/blip-image-captioning-large", - "task": "image-to-text", + "kind": "space", + "id": "Kwai-Kolors/Kolors-Virtual-Try-On", + "task": "image-to-image", + "space_category": "image-editing", "modality": "image", - "title": "BLIP Image Captioning", - "description": "Generate captions from images", - "added_at": "2026-04-02T00:00:00Z", - "featured": false, + "title": "Kolors Virtual Try-On", + "description": "", + "added_at": "2026-07-03T00:00:00Z", + "featured": true, + "zero_gpu": false, "validation": { - "last_checked": "2026-06-08T03:14:00Z", "status": "ok", - "error": null + "last_checked": null + } + }, + { + "kind": "space", + "id": "InstantX/InstantID", + "task": "image-to-image", + "space_category": "image-editing", + "modality": "image", + "title": "InstantID", + "description": "", + "added_at": "2026-07-03T00:00:00Z", + "featured": true, + "zero_gpu": true, + "validation": { + "status": "ok", + "last_checked": null } }, { @@ -96,29 +261,28 @@ "id": "facebook/detr-resnet-50", "task": "object-detection", "modality": "image", - "title": "DETR ResNet-50", - "description": "Open-vocabulary object detection", + "title": "Detr resnet 50", + "description": "", "added_at": "2026-04-02T00:00:00Z", "featured": true, "validation": { - "last_checked": "2026-06-08T03:14:00Z", "status": "ok", - "error": null + "last_checked": null } }, { - "kind": "model", - "id": "facebook/sam-vit-base", - "task": "image-segmentation", + "kind": "space", + "id": "nvidia/LocateAnything", + "task": "object-detection", "modality": "image", - "title": "Segment Anything (SAM)", - "description": "Segment any region of an image", - "added_at": "2026-04-02T00:00:00Z", + "title": "LocateAnything", + "description": "", + "added_at": "2026-07-03T00:00:00Z", "featured": true, + "zero_gpu": true, "validation": { - "last_checked": "2026-06-08T03:14:00Z", "status": "ok", - "error": null + "last_checked": null } }, { @@ -126,29 +290,155 @@ "id": "google/vit-base-patch16-224", "task": "image-classification", "modality": "image", - "title": "ViT Base", - "description": "Image classification (ImageNet)", + "title": "Vit base patch16 224", + "description": "", "added_at": "2026-04-02T00:00:00Z", "featured": false, "validation": { - "last_checked": "2026-06-08T03:14:00Z", "status": "ok", - "error": null + "last_checked": null } }, { "kind": "model", - "id": "depth-anything/Depth-Anything-V2-Small-hf", - "task": "depth-estimation", + "id": "Salesforce/blip-image-captioning-large", + "task": "image-to-text", "modality": "image", - "title": "Depth Anything V2", - "description": "Monocular depth estimation", - "added_at": "2026-04-02T00:00:00Z", + "title": "Blip image captioning large", + "description": "", + "added_at": "2026-07-03T00:00:00Z", "featured": true, "validation": { - "last_checked": "2026-06-08T03:14:00Z", "status": "ok", - "error": null + "last_checked": null + } + }, + { + "kind": "space", + "id": "facebook/sam2", + "task": "image-segmentation", + "modality": "image", + "title": "Sam2", + "description": "", + "added_at": "2026-07-03T00:00:00Z", + "featured": true, + "zero_gpu": false, + "validation": { + "status": "ok", + "last_checked": null + } + }, + { + "kind": "space", + "id": "tencent/Hunyuan3D-2.1", + "task": "image-to-3d", + "space_category": "3d-modeling", + "modality": "3d", + "title": "Hunyuan3D-2.1", + "description": "Image-to-3D Generation", + "added_at": "2026-07-03T00:00:00Z", + "featured": true, + "zero_gpu": true, + "validation": { + "status": "ok", + "last_checked": null + } + }, + { + "kind": "space", + "id": "trellis-community/TRELLIS", + "task": "image-to-3d", + "space_category": "3d-modeling", + "modality": "3d", + "title": "TRELLIS", + "description": "Scalable and Versatile 3D Generation from images", + "added_at": "2026-07-03T00:00:00Z", + "featured": true, + "zero_gpu": true, + "validation": { + "status": "ok", + "last_checked": null + } + }, + { + "kind": "space", + "id": "THUDM/CogVideoX-5b", + "task": "text-to-video", + "space_category": "video-generation", + "modality": "video", + "title": "CogVideoX-5B", + "description": "Text-to-Video", + "added_at": "2026-07-03T00:00:00Z", + "featured": true, + "zero_gpu": true, + "smoke_inputs": { + "prompt": "a flower opening slowly" + }, + "validation": { + "status": "ok", + "last_checked": null + } + }, + { + "kind": "space", + "id": "ali-vilab/i2vgen-xl", + "task": "image-to-video", + "space_category": "video-generation", + "modality": "video", + "title": "I2Vgen Xl", + "description": "", + "added_at": "2026-07-03T00:00:00Z", + "featured": false, + "zero_gpu": false, + "validation": { + "status": "ok", + "last_checked": null + } + }, + { + "kind": "space", + "id": "Wan-AI/Wan2.2-Animate", + "task": "image-to-video", + "space_category": "video-generation", + "modality": "video", + "title": "Wan2.2 Animate", + "description": "Wan2.2 Animate", + "added_at": "2026-07-03T00:00:00Z", + "featured": true, + "zero_gpu": false, + "validation": { + "status": "ok", + "last_checked": null + } + }, + { + "kind": "space", + "id": "KlingTeam/LivePortrait", + "task": "image-to-video", + "space_category": "video-generation", + "modality": "video", + "title": "Live Portrait", + "description": "Apply the motion of a video on a portrait", + "added_at": "2026-07-03T00:00:00Z", + "featured": true, + "zero_gpu": true, + "validation": { + "status": "ok", + "last_checked": null + } + }, + { + "kind": "model", + "id": "openai/whisper-large-v3-turbo", + "task": "automatic-speech-recognition", + "modality": "audio", + "title": "Whisper large v3 turbo", + "description": "", + "added_at": "2026-04-01T00:00:00Z", + "featured": true, + "validation": { + "status": "ok", + "last_checked": null } }, { @@ -158,16 +448,46 @@ "space_category": "music-generation", "modality": "audio", "title": "MusicGen", - "description": "Generate music from a text prompt", + "description": "", "added_at": "2026-04-02T00:00:00Z", "featured": false, "zero_gpu": true, - "smoke_inputs": { "prompt": "calm piano" }, "validation": { - "last_checked": "2026-06-08T03:14:00Z", "status": "ok", - "latency_ms": 4200, - "error": null + "last_checked": null + } + }, + { + "kind": "space", + "id": "hexgrad/Kokoro-TTS", + "task": "text-to-speech", + "space_category": "speech-synthesis", + "modality": "audio", + "title": "Kokoro TTS", + "description": "Upgraded to v1.0!", + "added_at": "2026-07-03T00:00:00Z", + "featured": true, + "zero_gpu": true, + "smoke_inputs": { + "text": "hello world" + }, + "validation": { + "status": "ok", + "last_checked": null + } + }, + { + "kind": "model", + "id": "microsoft/speecht5_tts", + "task": "text-to-speech", + "modality": "audio", + "title": "Speecht5 tts", + "description": "", + "added_at": "2026-07-03T00:00:00Z", + "featured": false, + "validation": { + "status": "ok", + "last_checked": null } }, { @@ -175,14 +495,13 @@ "id": "facebook/bart-large-cnn", "task": "summarization", "modality": "text", - "title": "BART CNN Summarizer", - "description": "News-style text summarization", + "title": "Bart large cnn", + "description": "", "added_at": "2026-04-02T00:00:00Z", "featured": false, "validation": { - "last_checked": "2026-06-08T03:14:00Z", "status": "ok", - "error": null + "last_checked": null } }, { @@ -190,14 +509,13 @@ "id": "Helsinki-NLP/opus-mt-en-fr", "task": "translation", "modality": "text", - "title": "Opus EN→FR", - "description": "English-to-French translation", + "title": "Opus mt en fr", + "description": "", "added_at": "2026-04-02T00:00:00Z", "featured": false, "validation": { - "last_checked": "2026-06-08T03:14:00Z", "status": "ok", - "error": null + "last_checked": null } }, { @@ -205,178 +523,408 @@ "id": "deepset/roberta-base-squad2", "task": "question-answering", "modality": "text", - "title": "RoBERTa QA", - "description": "Extractive question answering", + "title": "Roberta base squad2", + "description": "", "added_at": "2026-04-02T00:00:00Z", "featured": false, "validation": { - "last_checked": "2026-06-08T03:14:00Z", "status": "ok", - "error": null + "last_checked": null } }, { - "kind": "space", - "id": "tencent/Hunyuan3D-2", - "task": "image-to-3d", - "space_category": "3d-modeling", - "modality": "3d", - "title": "Hunyuan3D 2", - "description": "Generate 3D meshes from a single image", - "added_at": "2026-04-02T00:00:00Z", + "kind": "model", + "id": "distilbert/distilbert-base-uncased-finetuned-sst-2-english", + "task": "text-classification", + "modality": "text", + "title": "Distilbert base uncased finetuned sst 2 english", + "description": "", + "added_at": "2026-07-03T00:00:00Z", + "featured": false, + "validation": { + "status": "ok", + "last_checked": null + } + }, + { + "kind": "model", + "id": "sentence-transformers/all-MiniLM-L6-v2", + "task": "feature-extraction", + "modality": "text", + "title": "All MiniLM L6 v2", + "description": "", + "added_at": "2026-07-03T00:00:00Z", "featured": true, - "zero_gpu": true, "validation": { - "last_checked": "2026-06-08T03:14:00Z", "status": "ok", - "latency_ms": 5200, - "error": null + "last_checked": null } }, { - "kind": "space", - "id": "Wan-AI/Wan2.2-TI2V-5B", + "kind": "model", + "id": "openai-community/gpt2", + "task": "text-generation", + "modality": "text", + "title": "Gpt2", + "description": "", + "added_at": "2026-07-03T00:00:00Z", + "featured": false, + "validation": { + "status": "ok", + "last_checked": null + } + }, + { + "kind": "model", + "id": "google/gemma-4-31B-it", + "task": "image-text-to-text", + "modality": "image", + "title": "Gemma 4 31B it", + "description": "", + "added_at": "2026-07-03T00:00:00Z", + "featured": true, + "validation": { + "status": "ok", + "last_checked": null + } + }, + { + "kind": "model", + "id": "Qwen/Qwen3.6-27B", + "task": "text-generation", + "modality": "text", + "title": "Qwen3.6 27B", + "description": "", + "added_at": "2026-07-03T00:00:00Z", + "featured": true, + "validation": { + "status": "ok", + "last_checked": null + } + }, + { + "kind": "model", + "id": "deepseek-ai/DeepSeek-V4-Flash", + "task": "text-generation", + "modality": "text", + "title": "DeepSeek V4 Flash", + "description": "", + "added_at": "2026-07-03T00:00:00Z", + "featured": true, + "validation": { + "status": "ok", + "last_checked": null + } + }, + { + "kind": "model", + "id": "tencent/HunyuanVideo", "task": "text-to-video", - "space_category": "video-generation", "modality": "video", - "title": "Wan 2.2 TI2V 5B", - "description": "Text-to-video generation", - "added_at": "2026-04-02T00:00:00Z", + "title": "HunyuanVideo", + "description": "", + "added_at": "2026-07-03T00:00:00Z", "featured": true, - "zero_gpu": true, - "smoke_inputs": { "prompt": "a flower opening" }, "validation": { - "last_checked": "2026-06-08T03:14:00Z", "status": "ok", - "latency_ms": 8800, - "error": null + "last_checked": null } }, { "kind": "space", - "id": "hf-audio/whisper-large-v3-turbo", + "id": "openai/whisper", "task": "automatic-speech-recognition", "space_category": "automatic-speech-recognition", "modality": "audio", - "title": "Whisper Large v3 Turbo", - "description": "Fast speech-to-text", - "added_at": "2026-04-01T00:00:00Z", + "title": "Whisper", + "description": "", + "added_at": "2026-07-03T00:00:00Z", "featured": true, "zero_gpu": true, "validation": { - "last_checked": "2026-06-08T03:14:00Z", "status": "ok", - "latency_ms": 900, - "error": null + "last_checked": null } }, { "kind": "space", - "id": "coqui/xtts", + "id": "pharmapsychotic/CLIP-Interrogator", + "task": "image-to-text", + "modality": "image", + "title": "CLIP Interrogator", + "description": "", + "added_at": "2026-07-03T00:00:00Z", + "featured": true, + "zero_gpu": true, + "validation": { + "status": "ok", + "last_checked": null + } + }, + { + "kind": "space", + "id": "mrfakename/E2-F5-TTS", "task": "text-to-speech", "space_category": "speech-synthesis", "modality": "audio", - "title": "Coqui XTTS", - "description": "Multilingual text-to-speech with voice cloning", - "added_at": "2026-04-01T00:00:00Z", + "title": "F5-TTS", + "description": "F5-TTS & E2-TTS: Zero-Shot Voice Cloning (Unofficial Demo)", + "added_at": "2026-07-03T00:00:00Z", "featured": true, "zero_gpu": true, - "smoke_inputs": { "text": "hello" }, + "smoke_inputs": { + "ref_text": "hello", + "gen_text": "hello world" + }, "validation": { - "last_checked": "2026-06-08T03:14:00Z", "status": "ok", - "latency_ms": 2100, - "error": null + "last_checked": null } }, { - "kind": "model", - "id": "black-forest-labs/FLUX.1-schnell", - "task": "text-to-image", + "kind": "space", + "id": "sczhou/CodeFormer", + "task": "image-to-image", + "space_category": "image-editing", "modality": "image", - "title": "FLUX.1 schnell", - "description": "Text-to-image", - "added_at": "2026-04-01T00:00:00Z", + "title": "CodeFormer", + "description": "", + "added_at": "2026-07-03T00:00:00Z", + "featured": false, + "zero_gpu": true, + "validation": { + "status": "ok", + "last_checked": null + } + }, + { + "kind": "space", + "id": "Qwen/Qwen-Image-Edit-2511", + "task": "image-to-image", + "space_category": "image-editing", + "modality": "image", + "title": "Qwen Image Edit 2511", + "description": "", + "added_at": "2026-07-03T00:00:00Z", "featured": true, + "zero_gpu": true, "validation": { - "last_checked": "2026-06-08T03:14:00Z", "status": "ok", - "error": null + "last_checked": null } }, { - "kind": "model", - "id": "stabilityai/stable-diffusion-3.5-large-turbo", - "task": "text-to-image", + "kind": "space", + "id": "Qwen/Qwen3-TTS", + "task": "text-to-speech", + "space_category": "speech-synthesis", + "modality": "audio", + "title": "Qwen3-TTS Demo", + "description": "", + "added_at": "2026-07-03T00:00:00Z", + "featured": true, + "zero_gpu": true, + "smoke_inputs": { + "text": "hello world" + }, + "validation": { + "status": "ok", + "last_checked": null + } + }, + { + "kind": "space", + "id": "Qwen/Qwen3-ASR", + "task": "automatic-speech-recognition", + "space_category": "automatic-speech-recognition", + "modality": "audio", + "title": "Qwen3-ASR Demo", + "description": "", + "added_at": "2026-07-03T00:00:00Z", + "featured": false, + "zero_gpu": true, + "validation": { + "status": "ok", + "last_checked": null + } + }, + { + "kind": "space", + "id": "deepseek-ai/Janus-Pro-7B", + "task": "image-text-to-text", "modality": "image", - "title": "SD 3.5 Large Turbo", - "description": "Fast text-to-image", - "added_at": "2026-04-01T00:00:00Z", + "title": "Chat With Janus-Pro-7B", + "description": "A unified multimodal understanding and generation model.", + "added_at": "2026-07-03T00:00:00Z", "featured": true, + "zero_gpu": true, "validation": { - "last_checked": "2026-06-08T03:14:00Z", "status": "ok", - "error": null + "last_checked": null + } + }, + { + "kind": "space", + "id": "mistralai/voxtral-tts-demo", + "task": "text-to-speech", + "space_category": "speech-synthesis", + "modality": "audio", + "title": "Voxtral TTS Demo", + "description": "", + "added_at": "2026-07-03T00:00:00Z", + "featured": false, + "zero_gpu": false, + "smoke_inputs": { + "text": "hello world" + }, + "validation": { + "status": "ok", + "last_checked": null } }, { "kind": "model", - "id": "Qwen/Qwen2.5-VL-7B-Instruct", - "task": "image-to-text", - "modality": "image", - "title": "Qwen2.5-VL 7B", - "description": "Image understanding & captioning", - "added_at": "2026-04-01T00:00:00Z", + "id": "dslim/bert-base-NER", + "task": "token-classification", + "modality": "text", + "title": "Bert base NER", + "description": "", + "added_at": "2026-07-03T00:00:00Z", "featured": false, "validation": { - "last_checked": "2026-06-08T03:14:00Z", "status": "ok", - "error": null + "last_checked": null } }, { "kind": "model", - "id": "openai/whisper-large-v3-turbo", - "task": "automatic-speech-recognition", - "modality": "audio", - "title": "Whisper Large v3 Turbo", - "description": "Speech-to-text", - "added_at": "2026-04-01T00:00:00Z", + "id": "facebook/bart-large-mnli", + "task": "zero-shot-classification", + "modality": "text", + "title": "Bart large mnli", + "description": "", + "added_at": "2026-07-03T00:00:00Z", "featured": true, "validation": { - "last_checked": "2026-06-08T03:14:00Z", "status": "ok", - "error": null + "last_checked": null } }, { "kind": "model", - "id": "meta-llama/Llama-3.2-3B-Instruct", - "task": "text-generation", - "modality": "text", - "title": "Llama 3.2 3B Instruct", - "description": "Open-weights text generation", - "added_at": "2026-04-01T00:00:00Z", + "id": "MIT/ast-finetuned-audioset-10-10-0.4593", + "task": "audio-classification", + "modality": "audio", + "title": "Ast finetuned audioset 10 10 0.4593", + "description": "", + "added_at": "2026-07-03T00:00:00Z", + "featured": false, + "validation": { + "status": "ok", + "last_checked": null + } + }, + { + "kind": "model", + "id": "ZhengPeng7/BiRefNet", + "task": "image-segmentation", + "modality": "image", + "title": "BiRefNet", + "description": "", + "added_at": "2026-07-03T00:00:00Z", + "featured": true, + "validation": { + "status": "ok", + "last_checked": null + } + }, + { + "kind": "space", + "id": "Lightricks/ltx-video-distilled", + "task": "text-to-video", + "space_category": "video-generation", + "modality": "video", + "title": "LTX Video Fast", + "description": "ultra-fast video model, LTX 0.9.8 13B distilled", + "added_at": "2026-07-03T00:00:00Z", "featured": true, + "zero_gpu": true, + "smoke_inputs": { + "prompt": "a flower opening slowly" + }, "validation": { - "last_checked": "2026-06-08T03:14:00Z", "status": "ok", - "error": null + "last_checked": null } }, { "kind": "model", - "id": "Qwen/Qwen2.5-7B-Instruct", - "task": "text-generation", + "id": "depth-anything/Depth-Anything-V2-Small-hf", + "task": "depth-estimation", + "modality": "image", + "title": "Depth Anything V2 Small hf", + "description": "", + "added_at": "2026-07-03T00:00:00Z", + "featured": false, + "validation": { + "status": "ok", + "last_checked": null + } + }, + { + "kind": "model", + "id": "openai/shap-e", + "task": "text-to-3d", + "modality": "3d", + "title": "Shap e", + "description": "", + "added_at": "2026-07-03T00:00:00Z", + "featured": false, + "validation": { + "status": "ok", + "last_checked": null + } + }, + { + "kind": "model", + "id": "dandelin/vilt-b32-finetuned-vqa", + "task": "visual-question-answering", + "modality": "image", + "title": "Vilt b32 finetuned vqa", + "description": "", + "added_at": "2026-07-03T00:00:00Z", + "featured": false, + "validation": { + "status": "ok", + "last_checked": null + } + }, + { + "kind": "model", + "id": "google-bert/bert-base-uncased", + "task": "fill-mask", "modality": "text", - "title": "Qwen 2.5 7B", - "description": "Multilingual text generation", - "added_at": "2026-04-01T00:00:00Z", + "title": "Bert base uncased", + "description": "", + "added_at": "2026-07-03T00:00:00Z", + "featured": false, + "validation": { + "status": "ok", + "last_checked": null + } + }, + { + "kind": "model", + "id": "FunAudioLLM/SenseVoiceSmall", + "task": "automatic-speech-recognition", + "modality": "audio", + "title": "SenseVoiceSmall", + "description": "", + "added_at": "2026-07-03T00:00:00Z", "featured": false, "validation": { - "last_checked": "2026-06-08T03:14:00Z", "status": "ok", - "error": null + "last_checked": null } } ] diff --git a/js/workflowcanvas/workflow/WorkflowCanvas.svelte b/js/workflowcanvas/workflow/WorkflowCanvas.svelte index ee92faea0c5..041a7ec9c30 100644 --- a/js/workflowcanvas/workflow/WorkflowCanvas.svelte +++ b/js/workflowcanvas/workflow/WorkflowCanvas.svelte @@ -8,7 +8,9 @@ import NodeModelPicker from "./NodeModelPicker.svelte"; import WorkflowEmptyState from "./WorkflowEmptyState.svelte"; import WorkflowApiPanel from "./WorkflowApiPanel.svelte"; + import type { WorkflowTemplate } from "./workflow-templates"; import CheckIcon from "./icons/CheckIcon.svelte"; + import CloseIcon from "./icons/CloseIcon.svelte"; import LayoutIcon from "./icons/LayoutIcon.svelte"; import InfoIcon from "./icons/InfoIcon.svelte"; import CodeIcon from "./icons/CodeIcon.svelte"; @@ -281,6 +283,7 @@ let showShortcuts = $state(false); let showUserMenu = $state(false); let showApiPanel = $state(false); + let showTemplatesOverlay = $state(false); // Popover shown when the "Run only" badge is clicked, explaining why editing // is disabled and how to enable it. let showAccessInfo = $state(false); @@ -1384,6 +1387,16 @@ let clearConfirm = $state(false); + function load_template(t: WorkflowTemplate): void { + if (readOnly) return; + try { + const v2 = migrateToV2(t.workflow); + revokeAllBlobUrls(legacyView.nodes); + workflow.set(v2); + showTemplatesOverlay = false; + } catch {} + } + function clearWorkflow(): void { if (legacyView.nodes.length === 0 || readOnly) return; clearConfirm = true; @@ -2177,6 +2190,12 @@ {/if}
diff --git a/js/workflowcanvas/workflow/WorkflowEmptyState.svelte b/js/workflowcanvas/workflow/WorkflowEmptyState.svelte index e3027022078..d85153a21b3 100644 --- a/js/workflowcanvas/workflow/WorkflowEmptyState.svelte +++ b/js/workflowcanvas/workflow/WorkflowEmptyState.svelte @@ -1,7 +1,35 @@ -