The inf.yml file defines app settings and resource requirements.
Project Structure
1my-app/2├── inf.yml # Configuration3├── inference.py # App logic4├── requirements.txt # Python packages (pip)5└── packages.txt # System packages (apt) — optionalBasic structure
1namespace: myteam2name: my-app3description: What my app does4category: image5kernel: python-3.1167resources:8 gpu:9 count: 110 vram: 24 # 24GB (auto-converted to bytes)11 type: any12 ram: 32 # 32GBFields
| Field | Required | Description |
|---|---|---|
namespace | Yes | Your team username (app owner) |
name | Yes | App identifier (slug format) |
description | Yes | What it does |
category | Yes | App category |
kernel | Yes | Runtime: python-3.10, python-3.11, python-3.12, node-22 |
resources | Yes | Hardware requirements |
images | No | Store listing images (card, thumbnail, banner URLs) |
Store images
Optional URLs shown in the app Grid and store. The CLI reads these from inf.yml when you deploy:
1images:2 card: https://example.com/card.png3 thumbnail: https://example.com/thumb.png4 banner: https://example.com/banner.pngOmit images to use auto-generated covers after deploy.
To update listing images, description, or category without shipping a new app version:
1infsh app deploy --metaThe app must already be deployed at least once before --meta works.
Resources
The CLI automatically converts human-friendly values to bytes:
- < 1000 → treated as GB (e.g.,
80= 80GB) - 1000 to 1 billion → treated as MB (e.g.,
80000= 80GB)
1resources:2 gpu:3 count: 1 # Number of GPUs4 vram: 24 # 24GB5 type: any # GPU type6 ram: 32 # 32GBGPU Types
| Value | Description |
|---|---|
any | Any GPU will work |
nvidia | Requires NVIDIA GPU |
amd | Requires AMD GPU |
apple | Requires Apple Silicon |
none | No GPU needed (CPU only) |
Note: Currently only NVIDIA CUDA GPUs are supported.
For CPU-only apps:
1resources:2 gpu:3 count: 04 type: none5 ram: 4Categories
| Category | Use For |
|---|---|
image | Image generation, editing |
video | Video generation, processing |
audio | Audio generation, TTS |
text | Text generation |
chat | Conversational AI |
3d | 3D model generation |
other | Everything else |
Dependencies
1torch>=2.02transformers3accelerateSystem Packages (packages.txt)
For apt-installable system dependencies (both Python and Node.js):
1ffmpeg2libgl1-mesa-glxBase Images
Apps run in containers with these base images:
| Type | Image |
|---|---|
| GPU | docker.inference.sh/gpu:latest-cuda |
| CPU | docker.inference.sh/cpu:latest |
Environment Variables
1env:2 MODEL_NAME: gpt-43 MAX_TOKENS: "2000"4 HF_HUB_ENABLE_HF_TRANSFER: "1"Access in code:
1import os2model = os.environ["MODEL_NAME"]Secrets and Integrations
Declare required secrets and OAuth integrations:
1secrets:2 - key: HF_TOKEN3 description: HuggingFace token for gated models4 optional: false56integrations:7 - key: google.sheets8 description: Access to Google Sheets9 optional: trueSee Secrets and Integrations for details.