A local web app that turns product photos into ready-to-publish listings for eBay and Kleinanzeigen using Claude AI vision. Upload one or more photos, get a complete listing draft with title, HTML description, tags, and a market price suggestion — all in German.
- Drag-and-drop image upload (JPG, PNG, WEBP, multiple files)
- AI-powered product analysis via Claude Vision (condition, brand, category, features)
- Listing generation for eBay (HTML description, ≤ 80 char title) and Kleinanzeigen (plain text, ≤ 60 char title)
- Live HTML description preview
- Market price research via eBay Browse API (min / max / average / median / suggested price)
- All output in German
| Layer | Technology |
|---|---|
| Backend | Python, FastAPI, uvicorn |
| Frontend | Vanilla HTML / CSS / JS (no framework) |
| AI | Anthropic Python SDK (claude-sonnet-4-6) |
| Pricing | eBay Browse API (OAuth 2.0 client credentials) |
git clone <repo-url>
cd inserat-tool
python3 -m venv .venv
source .venv/bin/activatepip install -r backend/requirements.txtCreate a .env file in the project root:
# Anthropic
ANTHROPIC_API_KEY=sk-ant-...
# eBay (https://developer.ebay.com/my/keys)
EBAY_CLIENT_ID=YourApp-...
EBAY_CLIENT_SECRET=YourSecret-...
# Set to true to use eBay Sandbox for publishing (Phase 3)
# Price research always uses Production regardless of this setting
EBAY_SANDBOX=false./start.shThen open http://localhost:8000 in your browser.
Note:
start.shactivates the venv and launches uvicorn with hot-reload.
Make sure it is executable:chmod +x start.sh
inserat-tool/
├── backend/
│ ├── main.py # FastAPI app, /api/analyze endpoint
│ └── modules/
│ ├── image_analyzer.py # Claude Vision → structured product data
│ ├── listing_generator.py # Generates eBay / Kleinanzeigen listings
│ └── price_researcher.py # eBay Browse API price research
├── frontend/
│ ├── index.html
│ ├── style.css
│ └── app.js
├── .env # Not committed
├── start.sh
└── README.md
- Phase 1 — Image upload, AI analysis, editable review UI
- Phase 2 — eBay market price research
- Phase 3 — eBay API publishing + Kleinanzeigen via Playwright