Spaces:
Running on Zero
Running on Zero
Commit History
-
Add BFL usage policy notice and model license section
Links to bfl.ai/legal/usage-policy in both the notice bar and the privacy policy collapsible; updates last-modified date to 2026-05-20. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>3ee50c3 -
Remove InsightFace swapper and GFPGAN; use Flux2 as the only swap mode
Drops inswapper_128.onnx, GFPGAN, and the fast-mode pipeline entirely. InsightFace FaceAnalysis is kept for face detection and bbox cropping. Face limit raised from 2 to 8, mode toggle removed from the UI. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>1311044 -
Add Flux2 Quality mode for selective face swap
Introduces FLUX.2 Klein 9B + BFS-Best-Face-Swap LoRA as an optional Quality backend alongside the existing Fast (InsightFace/inswapper) mode. For each selected face, crops the expanded head region from the target, runs the Flux2 pipeline with the source face, and composites the result back — making Flux2 multi-face-aware for the first time. - pipeline_flux.py: bbox expansion, resize-for-flux, lazy pipeline loader, and run_swap_flux (crop → Flux2 → paste per selected face) - app.py: swap_faces_quality() with @spaces.GPU(duration=300), lazy _flux_pipe global, new hidden #run-quality-btn wired to Gradio - templates/app.html: ⚡ Fast / ✨ Quality toggle in Run panel - wire_outputs.js: swapMode state, updateMode(), Quality guard (max 2 faces), clickGradioRunBtn() routes to correct hidden button - app.css: mode toggle styles, .app-badge.flux, quality-warning - requirements.txt / pyproject.toml: add diffusers (git), peft, transformers, accelerate; pin onnxruntime<1.21 for local dev C…81fb298
-
Replace hardcoded blue SVG colors in upload icon with amber
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>4ab7edd -
Fix consent label text wrapping broken by flexbox
The label uses display:flex which turned the text node, <a>, and closing paren into separate flex items. Wrapping in a <span> keeps them as inline content inside a single flex item. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>57a346b -
Add consent checkbox gating the Swap Faces button
A checkbox labelled with a link to the Privacy Policy must be checked before the run button enables. The check resets on every page load (no localStorage) so consent is explicit for each session. updateRunButton() now requires consent in addition to face selection and source images being ready. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>160bddb -
Add GDPR-compliant logging disclosure and Privacy Policy
Adds a notice bullet informing users that uploaded images and results are logged to a private dataset and auto-deleted after 7 days, plus an expandable Privacy Policy covering what is collected, legal basis (GDPR Art. 6(1)(f)), storage, retention, data subject rights, and complaint routes. Pattern adapted from FireRed-Experimental-Turbo. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>81b7a29
-
Remove face data notice and privacy policy from UI
No data is stored, so the logging notice and privacy policy section are no longer accurate or needed. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>17e45e9 -
Initial implementation of Selectable Face Swap space
- Detect up to 8 faces automatically on target image upload (CPU) - Click face thumbnails to select which faces to swap - Dynamic source image upload boxes per selected face - Face swap via InsightFace inswapper_128 + GFPGAN enhancement (ZeroGPU) - Logging to private HF dataset via logging_utils (Parquet, async) - GDPR-compliant privacy notice for biometric data Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>c84d21d