Give any agent a film lab in one line.
Upload a photograph, name a film-inspired filter—or let PhotDev choose—and receive the processed full-resolution image. No account. No API key.
curl -sS https://api.phot.dev/v1/develop \ -F '[email protected]' \ -F 'film=Kodak Portra 400' \ -o developed.jpg
Teach an agent
To apply a film look, POST the image to https://api.phot.dev/v1/develop as multipart field file, set film to an exact filter name or auto, and save the binary response.
Contract
- POST
https://api.phot.dev/v1/develop- file
- Required multipart image. Maximum 120 MB.
- film
- Exact name from
/v1/filters, orauto. Defaults toauto. - format
jpegorheic. Defaults tojpeg.- quality
- 1–100. Defaults to 92.
- strength
- 0–1.5. Defaults to 1.
- response
- Binary image at the original oriented dimensions.
Two useful modes
Exact film
Use a name from the catalog. Unknown names fail instead of silently substituting another stock.
-F 'film=Fuji FP-100c Negative'Automatic
PhotDev inspects tone, saturation, skin-like hues, sky, foliage, and clipping before selecting a restrained candidate.
-F 'film=auto'Rate limit
The free public pool allows 100 transformations per UTC day, shared globally. Discovery endpoints do not consume the quota.
Every image response includes RateLimit-Limit, RateLimit-Remaining, and RateLimit-Reset. Exhausted requests return HTTP 429. The counter resets at 00:00 UTC.
Privacy
The API uploads the source to an isolated Cloudflare Container, processes it ephemerally, returns the result, and removes the one-shot upload.
Prefer the browser app at phot.dev when local-only processing matters: the browser version keeps photos on-device. The API is an explicit opt-in convenience for agents and automations.
Agent-readable
Machine contract ↗
Compact JSON with the endpoint, fields, quota, privacy, and one-line example.
Filter catalog ↗
Exact accepted names, medium, maker, and stable preset IDs.
llms.txt
The shortest context for language models discovering PhotDev.
OpenAPI
Interactive schema for the complete authenticated and public API.