Skip to content

A repository of models, textual inversions, and more

License

Notifications You must be signed in to change notification settings

ZangaiFamily/civitai

 
 

Repository files navigation

Contributors Forks Stargazers Issues Apache License 2.0 Discord


Table of Content

About the Project

Civitai Homepage Screenshot

Share you models, textual inversions, hypernetworks, aesthetic gradients, VAEs, and any other crazy stuff people do to customize their AI generations.

Built with

  • DB: Prisma + Postgres
  • API: tRPC
  • Front-end + Back-end: NextJS
  • UI Kit: Mantine
  • Storage: Cloudflare
  • Hosting: Railway

Features

  • Browse Models
    • Name, tags, downloads, favorites
  • Interacting with Models
    • Name
    • Trained Words (a list of words that this model knows)
    • Description
    • Type (Model, Textual Inversion)
    • Example Images
    • Versions
      • Name
      • Changelog/Description/Notes
      • Training Images (optional)
      • Training Steps
      • Download (Tracked)
    • Tag (Completely open)
    • Reviews
      • Version
      • Images Attachments
      • Text Review
      • Rate (Star system 1-5)

Getting Started

To get a local copy up and running follow these simple example steps.

Prerequisites

We recommend you have installed nvm in order to set the right node version to run this project

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash

Installation

  1. Clone the repo
    git clone https://github.com/civitai/civitai.git
  2. Install NPM packages
    npm install
  3. Config your env vars
    cp .env-example .env

Important Scripts

npm run dev # Start the dev environment

npm run db:migrate -- --name migration-name # Create a database migration with prisma after updating the schema

npm run db:generate # Generates local prisma client

npm run db:ui # Start Prisma Studio to manage the database content

npm run build # Build the NextJS project

Contributing

Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -am 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website.

License

Apache License 2.0 - Please have a look at the LICENSE for more details.

About

A repository of models, textual inversions, and more

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 95.8%
  • PLpgSQL 3.3%
  • Other 0.9%