Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 43 additions & 0 deletions .github/workflows/new_model_request_reply.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: New Model Request Reply

on:
issues:
types: [opened]

jobs:
reply:
name: Point new model requests at Modular Diffusers
# Match the heading the issue form renders for its first field rather than a label: template
# labels are applied after the issue is created, so `github.event.issue.labels` is empty here.
# Keep this string in sync with .github/ISSUE_TEMPLATE/new-model-addition.yml.
if: >-
github.repository == 'huggingface/diffusers' &&
contains(github.event.issue.body, '### Model/Pipeline/Scheduler description')
runs-on: ubuntu-latest
permissions:
issues: write
steps:
- name: Post Modular Diffusers guidance
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GH_REPO: ${{ github.repository }}
ISSUE_NUMBER: ${{ github.event.issue.number }}
BODY: |
Thanks for the request!

**How new model support works in Diffusers**

We're a small team, and our review queue shouldn't be what decides whether a model is usable in Diffusers. With [Modular Diffusers](https://huggingface.co/docs/diffusers/modular_diffusers/overview), a pipeline can live as remote code in any Hub repo and load straight from there with `from_pretrained`.

🛠️ **Want to bring this model to Diffusers?**

Please start with a Hub repo — you don't need anything from us to do that, and people can use it immediately. From there we decide how to support it: we might work with the authors, upstream an existing community version, or just point people at the one on the Hub. The pipelines we integrate are usually the ones people are already running.

Tag `@asomoza` when you have something to share — we'll give feedback on the implementation, help get it in front of people, and add the ones we like to our hand-picked [Modular Pipelines](https://huggingface.co/collections/diffusers/modular-pipelines) collection. Tell us where you hit friction along the way, too: confusing APIs, missing docs, bugs. That feedback is worth as much to us as the pipeline.

👋 **Are you an author of the model?** We'd love to hear from you — comment here and we'll help you pick the path that fits.

📚 [Quickstart](https://huggingface.co/docs/diffusers/modular_diffusers/quickstart) · [Building custom blocks](https://huggingface.co/docs/diffusers/modular_diffusers/custom_blocks) — template repo, and how to publish to the Hub · [Modular Pipelines](https://huggingface.co/collections/diffusers/modular-pipelines) and [Custom Blocks](https://huggingface.co/collections/diffusers/modular-diffusers-custom-blocks) — examples to crib from

*This is an automated message.*
run: gh issue comment "$ISSUE_NUMBER" --body "$BODY"
9 changes: 6 additions & 3 deletions docs/source/en/conceptual/contribution.md
Original file line number Diff line number Diff line change
Expand Up @@ -332,6 +332,11 @@ Good second issues are usually more difficult to get merged compared to good fir

### 9. Adding pipelines, models, schedulers

> [!TIP]
Comment thread
yiyixuxu marked this conversation as resolved.
> If you are the model's author, please get in touch so we can coordinate the integration with you: open a feature request, or drop a comment if one is already open.
>
> If you are a community contributor, please also let us know you're interested under the feature request, and start with a Hub repo at the same time. See the [Modular Diffusers](../modular_diffusers/overview) guide to get started, and [custom blocks](../modular_diffusers/custom_blocks) or [custom models](../using-diffusers/automodel) for publishing as remote code on the Hub.

Pipelines, models, and schedulers are the most important pieces of the Diffusers library.
They provide easy access to state-of-the-art diffusion technologies and thus allow the community to
build powerful generative AI applications.
Expand Down Expand Up @@ -605,6 +610,4 @@ AI-assisted contributions are welcome, but they must be coordinated, scoped, and
- The **test commands you ran** and their results (paste relevant output, not just "tests pass").
- Your **self-review notes** (or a link to the PR comment containing them), as described above.

If you are a model author or part of a team that officially maintains a model, we encourage you to use agents for a new model integration. Follow the repository's [recommended setup](https://github.com/huggingface/diffusers/blob/main/.ai/AGENTS.md) and use the [`model-integration`](https://github.com/huggingface/diffusers/blob/main/.ai/skills/model-integration/SKILL.md) skill. Coordinate the scope with maintainers before opening a PR.

If you are contributing a model to Diffusers for the first time as a community contributor, we generally recommend starting with a custom implementation that loads code from the Hub. This gives users access to the model while its integration into the core library is evaluated. See the [custom models](../using-diffusers/automodel) and [custom modular blocks](../modular_diffusers/custom_blocks) guides for supported patterns.
If you are a model author or part of a team that officially maintains a model, we encourage you to use agents for a new model integration. Follow the repository's [recommended setup](https://github.com/huggingface/diffusers/blob/main/.ai/AGENTS.md) and use the [`model-integration`](https://github.com/huggingface/diffusers/blob/main/.ai/skills/model-integration/SKILL.md) skill. Coordinate the scope with maintainers before opening a PR — see [Adding pipelines, models, schedulers](#9-adding-pipelines-models-schedulers).
Loading