Spaces:
Running on Zero
Running on Zero
Commit History
-
use gradio workflow (#6) Running
- Port the studio from gradio.Server + custom index.html to gr.Workflow (89d839fdd6111bc4099555393ec91981c9560d44) Co-authored-by: AK <akhaliq@users.noreply.huggingface.co>9a76d67
-
[Admin] Add NCII prompt guard for image-conditioned generations (#4)
- Add NCII prompt guard for image-conditioned generations (5d4861b08925db37f15e34503254aca9e73a7938) Co-authored-by: AK <akhaliq@users.noreply.huggingface.co>4e2a3d4
-
Add the lightx2v Minimax-h3-Turbo LoRA as a per-request alternative
h3_lora.py now loads both turbo LoRAs and switches the folded set in place per request (unfold old / fold new, one bf16 rounding, AoTI-safe). The lightx checkpoint is PEFT-style against the diffusers tree (rank 128, alpha 8 -> fold scale 0.0625); the larry one keeps the reference key conversion. The UI checkbox becomes a LoRA dropdown (larry / lightx / off) that suggests each design point in steps (6 / 4 / 28), and the API gains a 'lora' string parameter — the legacy use_lora bool still works.456aa27
-
Default steps 4 -> 6
942d78c -
Switch to the recommended ckpt850 EMA LoRA; default steps back to 4
ckpt850 is the final checkpoint of the round and sharp at 4 steps per the updated card, so the UI/API default drops 8 -> 4. Also adds H3_LORA_STRENGTH (default 1.0), the card's sharpness/artifact dial, applied at fold time and in the per-request toggle.4512613 -
Default steps 6 -> 8 (better quality at the ckpt500 weights)
e35aff5 -
Default to the ckpt500 turbo weights, add a per-request LoRA toggle
- H3_LORA default is now minimax_h3_turbo_4step_ckpt500.safetensors, the model card's recommended default (newest, sharpest, non-EMA) - the low-rank factors stay resident after the startup fold, so h3_lora.set_enabled() folds/unfolds B@A in place per request; the AoTI blocks read the same live storage. UI gets a 'Turbo LoRA' checkbox (default on), the API a use_lora parameter (default true) - default steps 4 -> 6 per the card's updated guidance (comfort zone is 6-8 at this checkpoint; 4 is softer)868ff3a -
Pass the caller's x-ip-token to the conditioner explicitly
LocalContext-based token forwarding is unreliable in Server mode, so the conditioner's ZeroGPU booking fell back to this Space's pod IP and its shared quota ('quota exceeded' despite the caller having quota). Extract the header from the injected Request and hand it to a per-request gradio_client, per the gradio ZeroGPU docs.7db57ff -
Call the v2 named-endpoint API directly, unwrap the single-Api-output tuple
- @gradio/client resolves a legacy fn_index that Server mode's internal Blocks does not have (KeyError on queue join); the v2 API (POST /gradio_api/call/v2/generate + SSE) addresses endpoints by name - the tuple return is one 'Api' output, so it arrives nested one level - whitelist OUTPUT_DIR for the /gradio_api/file= routee6d78bd -
Rename /config to /studio-config: Gradio's own client-discovery route lives at /config, and shadowing it broke @gradio/client ('Could not get API info')
b84671f -
Rebuild the UI as a custom studio frontend on gradio.Server
Server mode: @app.api(name="generate") keeps the queue / ZeroGPU / gradio_client contract (same name and signature), @app.get("/") serves a self-contained index.html — dark studio layout with a control deck (prompt, keyframe dropzones, canvas / duration / steps / seed), a preview monitor, and a transport-style report bar, driven by the @gradio/client JS package. /status and /config feed the readiness pill and the canvas list. Keyframe cover-crop moved server-side into generate so API callers get it too.299d59b -
Fold the 4-step Turbo LoRA into the transformer, default to 4 steps
Downloads larryvrh/MiniMax-H3-Turbo-Lora at startup and merges W + B@A into the bf16 weights, mirroring the diffusers key conversion (fused-QKV thirds, SwiGLU gate/value swap, shared AdaLN row layout). Folded before the AoTI package is patched in so compiled blocks carry the update. H3_LORA / H3_LORA_REPO configure it, H3_LORA=off disables.d8b48ff
-
Open badge links in a new tab
Verified signature7f2540d -
Price bookings against the AoTI blocks, generate from 2 s again, cross-link the demos
get_duration is refit on the measured AoTI per-step table, AoTI is opt-in behind H3_AOTI with a card and torch check before it loads, and the duration slider starts at 2 s again by lowering the pipeline's own floor.3a016a8 -
Start the duration slider at the 5 s the model actually generates
Verified signaturec4170c1 -
Restore encode_remote
Verified signatured957826 -
Cache the conditioner client with functools.cache, tidy comments
Verified signature5029048 -
Let gradio_client forward the caller's ZeroGPU token itself instead of pinning one by hand
Verified signaturebf1199a -
Forward the caller's ZeroGPU token to the conditioner, plainly
Verified signature9ac597f -
Bill the conditioner call to the requesting user's own ZeroGPU token, never an org token
Verified signature9a812e9 -
Pay for the conditioner call with the first ZeroGPU identity that can: the caller's token, this Space's HF_TOKEN, then none
Verified signature8e346cd -
Fall back to an anonymous conditioner call when the forwarded ZeroGPU token is refused
Verified signature1ccbe3f -
Forward the caller's ZeroGPU token to the conditioner so one request bills as one request
Verified signature9c16554 -
Load the AoTI packages from the public multimodalart/minimax-h3-aoti, move the upsample toggle under the prompt
Verified signaturea0bf481 -
Migrate to canonical diffusers PR 14371 + public MiniMaxAI/MiniMax-H3 weights, add prompt upsampling toggle
Verified signature9da256f
-
Duration slider from 2s
Verified signatured479a15 -
Repair and reorder the canvas table
Verified signaturec5ee652 -
Fast canvases for 4:3, 3:4 and 21:9
Verified signature4adcec8 -
Use the public conditioner without a token
Verified signature9e1b9cc -
Fast default for generation, full quality examples
Verified signature50e22ae -
Default to full resolution, full quality examples
Verified signature87f8144 -
Idiomatic ZeroGPU startup packing for the transformer
Verified signature3691fc1 -
Right size placement allowance
Verified signature8866682 -
Dynamic GPU duration fitted from probes
Verified signature9402204 -
Update app.py
Verified signaturead50e3b -
Update app.py
Verified signature7cdff33 -
Tighten description
Verified signaturea2c1a96 -
Lazy cached examples, generate defaults
Verified signaturea270ad8 -
Model description and examples
Verified signaturef3a60b2 -
Fix keyframe upload loop: use upload event, no op when no crop needed
Verified signature73429ba -
Update app.py
Verified signaturefab8dc6 -
Update app.py
Verified signaturea8d1d0b -
Square fast canvas, keyframe auto fit, badge links
Verified signatured8b4b35 -
Clean demo UI, 28 step default, track_tqdm progress
Verified signature2d282e1 -
Wire the AoTI load path (env-gated) and the sub-768p canvases
Verified signature6d6e37f -
Update app.py
Verified signaturea597398 -
Sync the split MiniMax-H3 Spaces
Verified signaturec938c2e -
Sync the split MiniMax-H3 Spaces
Verified signature5ca1dce -
Sync the split MiniMax-H3 Spaces
Verified signature0453841 -
Sync the split MiniMax-H3 Spaces
Verified signature186aa49