vork by Voyager
An agent writes a scene as code, renders it on the GPU, looks at the result and revises the code. Source-available and free during the research preview.
翻訳待ち
PicSpeak is an AI-powered photography critique web app that lets users upload photos and receive instant professional feedback on composition, lighting, color, and technical execution.
翻訳待ち
Loading the full README.
Read the full README ↗AI photography critique that turns feedback into the next shot.
Live demo · Example critique · Retake Coach · Prompt library · Gallery
English | 简体中文
Requirements: Python 3.11+, Node.js 20+, PostgreSQL 14+, S3-compatible storage, and an OpenAI API key.
git clone https://github.com/AsaZhou923/picspeak.git && cd picspeak
cp backend/.env.example backend/.env # fill in DATABASE_URL, OBJECT_*, OPENAI_API_KEY
cp frontend/.env.local.example frontend/.env.local # set NEXT_PUBLIC_API_URL
# Terminal 1: backend at http://localhost:8000
python -m venv .venv && source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r backend/requirements.txt
cd backend && python scripts/ensure_runtime_schema.py && uvicorn app.main:app --reload --port 8000
# Terminal 2: frontend at http://localhost:3000
cd frontend && npm install && npm run dev
The full list is in backend/.env.example.
| Purpose | Variables |
|---|---|
| Required | DATABASE_URL, APP_SECRET, OAUTH_JWT_SECRET, OBJECT_*, OPENAI_API_KEY |
| Models | OPENAI_SCORE_MODEL / OPENAI_REVIEW_MODEL (Flash, gpt-6-sol), OPENAI_PRO_MODEL (Pro, gpt-6.1-sol), RETAKE_ANALYSIS_* |
| Image generation | IMAGE_GENERATION_* |
| Optional | CLERK_* (sign-in), LEMONSQUEEZY_* (billing), CLOUD_TASKS_* (queue), AI_* (Qwen-compatible API) |
.venv/bin/python -m pytest backend/tests # backend
cd frontend && npm run typecheck && npm run lint && npm run test # frontend
vercel.json is included), or run npm run build && npm run start.backend/Dockerfile, built by cloudbuild.yaml. The worker runs inside the API by default. Run python -m app.worker_main to split it into its own process.backend/scripts/ default to dry-run.Next.js 15 ──upload──▶ S3 / R2
│
▼
FastAPI ──▶ async worker ──▶ OpenAI Responses (critique) · GPT Image 2 (create)
│
▼
PostgreSQL: reviews · tasks · billing · progress
Auth uses Clerk plus guest sessions, and billing uses Lemon Squeezy. More detail: system architecture (Chinese) · design system.
PicSpeak existed before Build Week. During the event, the single-photo product became an auditable retake loop: b74ddfb is the baseline and 2a626aa is the core paired comparison. Three rules keep the results honest:
The event version used GPT-5.6 Terra. The current runtime uses GPT-6 Sol (Flash) and GPT-6.1 Sol (Pro), and every saved result records the model that produced it.
The latest entry is Gallery critiques get their own public pages, plus portrait, street, and landscape guides. See the full changelog for older entries.
Issues and PRs are welcome. Keep changes scoped, add tests for the behavior you change, and keep public demos separate from private user reviews.