Not affiliated with the Homebox project. This is an unofficial third-party companion app.
AI-powered companion for Homebox inventory management.
![]() |
![]() |
![]() |
![]() |
Take a photo of your stuff, and let AI identify and catalog items directly into your Homebox instance. Perfect for quickly inventorying a room, shelf, or collection.
flowchart LR
A[π Login<br/>Homebox] --> B[π Select<br/>Location]
B --> C[πΈ Capture<br/>Photos]
C --> D[βοΈ Review &<br/>Edit Items]
D --> E[β
Submit to<br/>Homebox]
B -.-> B1[/Browse, search,<br/>or scan QR/]
C -.-> C1[/AI analyzes with<br/>OpenAI GPT-5/]
D -.-> D1[/Edit names,<br/>quantities, labels/]
https://github.com/user-attachments/assets/fcaae316-f4fa-462e-8ed2-d0d7e82145fd
Prices as of 2025-12-10, using OpenAIβs published pricing for GPT-5 mini and GPT-5 nano.
Per-token pricing (per 1M tokens):
GPT-5 nano
GPT-5 mini
All estimates below are based on measured token usage from this appβs production prompt with 1β5 images per call.
| Images per call | Cost / 1 call | Cost / 100 calls | Cost / 500 calls | Cost / 1,000 calls |
|---|---|---|---|---|
| 1 | $0.0026 | $0.2580 | $1.2900 | $2.5800 |
| 2 | $0.0032 | $0.3236 | $1.6180 | $3.2360 |
| 3 | $0.0031 | $0.3130 | $1.5650 | $3.1300 |
| 4 | $0.0037 | $0.3672 | $1.8360 | $3.6720 |
| 5 | $0.0041 | $0.4108 | $2.0540 | $4.1080 |
| Images per call | Cost / 1 call | Cost / 100 calls | Cost / 500 calls | Cost / 1,000 calls |
|---|---|---|---|---|
| 1 | $0.0008 | $0.0801 | $0.4005 | $0.8010 |
| 2 | $0.0008 | $0.0781 | $0.3907 | $0.7815 |
| 3 | $0.0010 | $0.0958 | $0.4788 | $0.9577 |
| 4 | $0.0014 | $0.1386 | $0.6929 | $1.3858 |
| 5 | $0.0013 | $0.1264 | $0.6320 | $1.2639 |
Although gpt-5-nano may be smaller and faster on a per-token basis, our testing shows that it generates significantly more tokens to complete the same task, ultimately offsetting any apparent speed advantage.
Before you start, you'll need:
Want to try it out without setting up Homebox? Use the public demo server:
docker run -p 8000:8000 \
-e HBC_OPENAI_API_KEY=sk-your-key \
-e HBC_HOMEBOX_URL=https://demo.homebox.software \
ghcr.io/duelion/homebox-companion:latest
Open http://localhost:8000 and login with [email protected] / demo
# docker-compose.yml
services:
homebox-companion:
image: ghcr.io/duelion/homebox-companion:latest
container_name: homebox-companion
restart: always
environment:
- HBC_OPENAI_API_KEY=sk-your-api-key-here
- HBC_HOMEBOX_URL=http://your-homebox-ip:7745
ports:
- 8000:8000
docker compose up -d
Open http://localhost:8000 in your browser.
Tip: If Homebox runs on the same machine but outside Docker, use
http://host.docker.internal:PORTas the URL.
Alternative to Docker if you prefer running directly on your system.
Prerequisites: Python 3.12+, Node.js 20+, uv
# Clone and install
git clone https://github.com/Duelion/homebox-companion.git
cd homebox-companion
uv sync
# Build frontend
cd frontend && npm install && npm run build && cd ..
mkdir -p server/static && cp -r frontend/build/* server/static/
# Configure - copy example and edit
cp .env.example .env
# Edit .env and set your HBC_OPENAI_API_KEY
# Run
uv run python -m server.app
# Clone and install
git clone https://github.com/Duelion/homebox-companion.git
cd homebox-companion
uv sync
# Build frontend
cd frontend
npm install
npm run build
cd ..
# Copy frontend build to server static
New-Item -ItemType Directory -Force -Path server\static
Copy-Item -Path frontend\build\* -Destination server\static\ -Recurse -Force
# Configure - copy example and edit
Copy-Item .env.example .env
# Edit .env and set your HBC_OPENAI_API_KEY
# Run
uv run python -m server.app
Open http://localhost:8000 in your browser.
Note: See
.env.examplefor all available configuration options including AI customization settings.
π Full reference: See
.env.examplefor all available environment variables with detailed explanations and examples.
| Variable | Required | Default | Description |
|---|---|---|---|
HBC_OPENAI_API_KEY |
Yes | β | Your OpenAI API key |
HBC_HOMEBOX_URL |
No | Demo server | Your Homebox URL |
HBC_OPENAI_MODEL |
No | gpt-5-mini |
Model to use (gpt-5-nano for cheaper) |
HBC_IMAGE_QUALITY |
No | medium |
Image quality for Homebox uploads: raw, high, medium, low |
Control compression applied to images uploaded to Homebox. Compression happens server-side during AI analysis to avoid slowing down mobile devices.
| Quality Level | Max Dimension | JPEG Quality | File Size | Use Case |
|---|---|---|---|---|
raw |
No limit | Original | Largest | Full quality originals |
high |
2560px | 85% | Large | Best quality, moderate size |
medium |
1920px | 75% | Moderate | Default - balanced |
low |
1280px | 60% | Smallest | Faster uploads, smaller storage |
Example:
HBC_IMAGE_QUALITY=high
Note: This setting only affects images uploaded to Homebox. AI analysis always uses optimized images regardless of this setting.
| Variable | Default | Description |
|---|---|---|
HBC_SERVER_HOST |
0.0.0.0 |
Server bind address |
HBC_SERVER_PORT |
8000 |
Server port |
HBC_LOG_LEVEL |
INFO |
Logging level |
HBC_DISABLE_UPDATE_CHECK |
false |
Disable update notifications |
HBC_MAX_UPLOAD_SIZE_MB |
20 |
Maximum file upload size in MB |
HBC_CORS_ORIGINS |
* |
Allowed CORS origins (comma-separated or *) |
Customize how AI formats detected item fields. Set via environment variables or the Settings page (UI takes priority).
| Variable | Description |
|---|---|
HBC_AI_OUTPUT_LANGUAGE |
Language for AI output (default: English) |
HBC_AI_DEFAULT_LABEL_ID |
Label ID to auto-apply to all items |
HBC_AI_NAME |
Custom instructions for item naming |
HBC_AI_DESCRIPTION |
Custom instructions for descriptions |
HBC_AI_QUANTITY |
Custom instructions for quantity counting |
HBC_AI_MANUFACTURER |
Instructions for manufacturer extraction |
HBC_AI_MODEL_NUMBER |
Instructions for model number extraction |
HBC_AI_SERIAL_NUMBER |
Instructions for serial number extraction |
HBC_AI_PURCHASE_PRICE |
Instructions for price extraction |
HBC_AI_PURCHASE_FROM |
Instructions for retailer extraction |
HBC_AI_NOTES |
Custom instructions for notes |
HBC_AI_NAMING_EXAMPLES |
Example names to guide the AI |
Tip: The Settings page has an "Export as Environment Variables" button.
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.