grain.social is a photo sharing platform built on atproto.
1# Grain Darkroom
2
3A Rust-based service for generating composite images from photo galleries.
4
5### API Endpoints
6
7#### `GET /composite-preview`
8
9Generates an HTML preview of a photo grid layout.
10
11**Query Parameters:**
12
13- `thumbs` - Comma-separated list of thumbnail URLs
14- `title` - Gallery title (optional)
15- `handle` - Creator handle (optional)
16
17#### `GET /xrpc/social.grain.darkroom.getGalleryComposite`
18
19Creates a composite image from a gallery URI.
20
21**Query Parameters:**
22
23- `uri` - URI of the gallery to process
24
25**Returns:** JPEG image
26
27### Dependencies
28
29- Rust 1.88+
30- Chrome/Chromium for screenshot capture
31
32### Development
33
34```bash
35# Run in development mode
36cargo run
37
38# Build release version
39cargo build --release
40```
41
42The service will start on port 8080.