Publish your repositories to the Runpod Hub.
hub.json
and tests.json
files.
hub.json
and tests.json
files.handler.py
, Dockerfile
, and README.md
file (in either the .runpod
or root directory).README.md
file, so that users can instantly deploy your repo from GitHub.hub.json
- Defines metadata and deployment settings for your repo.tests.json
- Specifies how to test your repo..runpod
directory at the root of your repository. This directory takes precedence over the root directory, allowing you to override common files like Dockerfile
and README.md
specifically for the Hub.
hub.json
file defines how your listing appears and functions in the Hub.
You can build your hub.json
from scratch, or use this template as a starting point.
Field | Description | Required | Values |
---|---|---|---|
title | Name of your tool | Yes | String |
description | Brief explanation of functionality | Yes | String |
type | Deployment type | Yes | "serverless" |
category | Tool category | Yes | "audio" , "embedding" , "language" , "video" , or "image" |
iconUrl | URL to tool icon | No | Valid URL |
config | Runpod configuration | Yes | Object (see below) |
Field | Description | Required | Values |
---|---|---|---|
runsOn | Machine type | Yes | "GPU" or "CPU" |
containerDiskInGb | Container disk space allocation | Yes | Integer (GB) |
cpuFlavor | CPU configuration | Only if runsOn is "CPU" | Valid CPU flavor string. For a complete list of available CPU flavors, see CPU types |
gpuCount | Number of GPUs | Only if runsOn is "GPU" | Integer |
gpuIds | GPU pool specification | Only if runsOn is "GPU" | Comma-separated pool IDs (e.g., "ADA_24" ) with optional GPU ID negations (e.g., "-NVIDIA RTX 4090" ). For a list of GPU pools and IDs, see GPU types. |
allowedCudaVersions | Supported CUDA versions | No | Array of version strings |
env | Environment variable definitions | No | Object (see below) |
presets | Default environment variable values | No | Object (see below) |
"advanced": true
.
hub.json
file that you can use as a starting point:
tests.json
file defines test cases to validate your tool’s functionality. Tests are executed during the build step after a release has been created. A test is considered valid by the Hub if the endpoint returns a 200 response.
You can build your tests.json
from scratch, or use this template as a starting point.
Field | Description | Required | Values |
---|---|---|---|
name | Test identifier | Yes | String |
input | Raw job input payload | Yes | Object |
timeout | Max execution time | No | Integer (milliseconds) |
Field | Description | Required | Values |
---|---|---|---|
gpuTypeId | GPU type for testing | Only for GPU tests | Valid GPU ID (see GPU types) |
gpuCount | Number of GPUs | Only for GPU tests | Integer |
cpuFlavor | CPU configuration for testing | Only for CPU tests | Valid CPU flavor string (see CPU types) |
env | Test environment variables | No | Array of key-value pairs |
allowedCudaVersions | Supported CUDA versions | No | Array of version strings |
tests.json
file that you can use as a starting point: