Skip to content

blib-la/captain-marketplace

Repository files navigation

Captain Marketplace

This is where you can add information about your model or app, making it available for download on Captain.

Note: We don't accept models trained on NSFW content. For such models, please use a different index.



Item Categories

We organize the data in categories, but please feel free to add more if your data does not fit in yet:

  • checkpoints: Stable Diffusion checkpoints
  • loras: Stable Diffusion LoRAs
  • vae: VAE for Stable Diffusion

Place your model's info.json or info.json5 file in its designated folder, named after the model.

For instance: If your model is stable-diffusion-xl-base-1-0, the file goes in checkpoints/stabilityai/stable-diffusion-xl-base-1-0/, where stabilityai is the author.

Add your item to the Marketplace

Step 1: File Creation

  • Create an info.json or info.json5 file. (JSON5 offers more flexibility, as it allows comments and additional syntax features.)
  • In addition to the info file, include an image named 01.jpg or 01.png in the same folder. This image should be a straightforward example of what your model can do or its unique style. Ideally, the image should include metadata from automatic1111/stable-diffusion-webui or ComfyUI.
  • Place both the info file and the image in the model's designated folder.
stable-diffusion/
├── checkpoints/
│   └── author/
|       └── model/
│           ├── info.json
│           └── 01.jpg
└── loras/
    └── author/
        └── model/
            ├── info.json
            └── 01.jpg

Step 2: Archive

Create an archive of your data using 7z as this provides the best compression.

  • Open your terminal
  • Navigate to the folder that contains the data you want to put into an archive (for example sd-turbo)
  • Create the archive 7z a -t7z archive.7z .\MyFolder\* (for example 7z a -t7z stabilityai-sd-turbo-fp16.7z .\sd-turbo\*)
  • Verify that the files were correctly added into your archive: 7z l archive.7z

⚠️ It is important that the root-level of the archive already contains the files, not the folder itself.

Upload your archive and provide the URL for us to download it, so we can then add it to our public Cloudflare bucket, which will then be used in the Marketplace.

Step 3: File Contents

Your file should be structured like this:

Field Description Required
type The category or type of the item (e.g., 'trained', 'fine-tuned'). Yes
label A concise, descriptive name for the item. Yes
description A full explanation of what the item does and its capabilities. Yes
author The name of the individual or organization that created or is providing the item. Yes
link A URL to a webpage with more detailed information about the item. No
license Describes the legal usage terms or conditions for the item. No
architecture Specific details about the item's architecture or design. No
sources An array containing source objects from which the item can be downloaded. Yes
- id A unique identifier for each source of the item. Yes
- label A descriptive label for the source, useful for display purposes. Yes
- source The URL where the item file can be downloaded. We will host this on our Cloudflare. Yes
- destination The intended local storage path for the item after download. Yes
- unzip A boolean value indicating whether the downloaded file requires extraction. Yes

Example Item File

{
    "type": "trained",
    "label": "SD Turbo",
    "description": "Turbocharged version of Stable Diffusion.",
    "author": "Stability AI",
    "link": "https://huggingface.co/stabilityai/sd-turbo",
    "license": "sai-nc-community",
    "architecture": "sd-2-1-turbo",
    "sources": [
        {
            "id": "stabilityai/sd-turbo/fp16",
            "label": "SD Turbo (fp16)",
            "source": "https://pub-aea7c308ba0147b69deba50a606e7743.r2.dev/stabilityai-sd-turbo-fp16.7z",
            "destination": "stable-diffusion/checkpoints",
            "unzip": true
        }
    ]
}

Step 4: Submitting Your File

To contribute to our open-source project:

  • Fork our project (create your own copy).
  • Add your info.json or info.json5 file to the appropriate folder in your fork.
  • Submit a pull request to merge your changes with the main project, explaining your contribution.

Upload archive to Cloudflare

The following steps are needed if you have access the the Cloudflare account from Blibla, it is not needed otherwise.

  • Create Cloudflare API Key with Read/Write permissions for a specific bucket
  • Make the bucket public
  • Install rclone and configure it to use the bucket and API Key
  • Upload the archive into the bucket: rclone copy .\archive.7z cloudflare-blibla-captain-assets:blibla-captain-assets/ --s3-upload-cutoff=100M --s3-chunk-size=100M --progress

Guidelines and Verification

  • Check your file for accuracy using online validation tools.
  • Follow the naming and folder organization rules outlined above.
  • Ensure your file contains precise and relevant model information.