Headers
| Header | Required | Description |
|---|---|---|
relay-key | Yes | Your Relay key |
post-privacy | No | public, unlisted, or private (default) |
post-title | No | Post title, max 30 characters |
post-description | No | Post description, max 200 characters |
post-type | No | album (default) or individual. Only applies to two or more files. |
include-metadata | No | true to keep file metadata. Omitted or false strips it (default). |
Behavior
- One file: creates a single post.
post-typeis ignored. - Two or more files, no header or
album: creates one album post containing all files. - Two or more files,
individual: creates a separate post for each file. post-privacy: private: the returnedurl(and anyurlsin albums) is a signed URL with a 24-hour expiry. After it expires, callGET /posts/{code}orGET /uploadsto get a fresh signed URL.- Video uploads:
.mp4,.mov, and.mkvfiles are remuxed to MP4 with+faststartso the browser can begin playback before the full file has downloaded..movand.mkvuploads are stored (and returned) with an.mp4extension. If remuxing fails, the original file is stored unchanged. See File Types for details. - Metadata: Metadata (camera, GPS location, timestamp) is stripped by default. For images, EXIF is removed from PNG, JPG, and WebP up to 100 MB (larger images are stored unchanged). For videos, container metadata is removed during the MP4 remux. Send
include-metadata: trueto keep it.
Examples
Upload a single file:Responses
Single file:post containing every file.
post-type: individual): one entry in post.posts per file. If a file fails, a failed array is included alongside files.

