Overview
Uploads are the core content type in FoN. Users can upload images or submit links for the community to vote on.Upload Types
FoN supports three types of uploads:Image Upload
Upload an image file directly to FoN. Supported formats: JPEG, PNG, GIF, WebP Size limit: 10 MBImage URL
Submit a URL to an image hosted elsewhere. FoN will fetch and process the image.Image URL uploads are only available via the cookie-authenticated
/api/upload endpoint (not /api/v1/upload, which only accepts image or link).Link
Submit a link to external content. FoN supports rich embeds for popular platforms. Supported platforms:- Bluesky
- Threads
- YouTube
- Tumblr
- Spotify
Upload Properties
| Property | Type | Description |
|---|---|---|
id | UUID | Unique identifier |
user_id | UUID | Owner’s user ID |
filename | string | Stored filename (images only) |
original_name | string | Original filename |
description | string | User-provided description (max 500 chars) |
upload_type | string | image or link |
external_url | string | URL for links |
upvotes | integer | Number of “fucks” votes |
downvote_count | integer | Number of “does not fuck” votes |
is_private | boolean | Privacy status |
tags | array | Associated tags |
created_at | timestamp | Creation time |
Duplicate Detection
FoN automatically detects duplicate image uploads using content hashing. If you upload an image that already exists, you’ll receive:Image Processing
Uploaded images are automatically:- Validated - Checked for supported format and size
- Analyzed - Scanned for content (human detection)
- Optimized - Converted to efficient formats
- Thumbnailed - Generated preview versions
Privacy
Uploads can be made private. The privacy endpoint toggles the current setting — there’s no request body, and calling it again switches it back:- Don’t appear in public feeds
- Only visible to the owner and admins
- Still accessible via direct link (if you know the ID)
Tags
Add tags to help categorize your upload:- Maximum 10 tags per upload
- Tags are comma-separated