← all repositories
jina-ai/discoart

Disco Diffusion, minus the Colab copy-paste ritual

A Pythonic wrapper that turns a sprawling Google Colab notebook into a one-liner API with persistence, recovery, and production serving.

discoart
Velocity · 7d
+2.7
★ / day
Trend
steady
star history

What it does DiscoArt wraps the original Disco Diffusion CLIP-guided image generator in a clean Python package. You call create(), pass text prompts and parameters, and get back a DocumentArray containing final images, intermediate steps, and full config metadata. It runs locally, in Colab, or as a gRPC/HTTP service.

The interesting bit The project treats generative art like infrastructure. Every run gets a persistent ID; you can pull results from any machine after a Colab session dies, resume from a previous output as an initial state, and export configs as YAML, SVG, or runnable Python. That’s unusual discipline for a creative tool.

Key highlights

  • One-liner create() with IDE autocompletion and a built-in cheatsheet() for parameters
  • Real-time persistence: progress sprites, animated GIFs, and compressed protobufs written to disk as steps complete
  • Session recovery via DocumentArray.pull('discoart-id') — no more lost Colab runs
  • Native python -m discoart serve for gRPC/HTTP/websockets with Kubernetes/Prometheus hooks via Jina
  • Config portability: save, load, diff, and re-run exact parameter sets

Caveats

  • No built-in GUI; the README explicitly calls it “developer-centric and API-first” and points to third-party frontends
  • Requires CUDA-enabled PyTorch; CPU-only workflows are not the target
  • Cloud backup is on by default; you must opt out via environment variable if you don’t want it

Verdict Worth a look if you’re building pipelines around generative art or tired of debugging Colab notebook cells. If you just want pretty pictures without touching Python, use one of the affiliated frontends instead.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.