API Usage
Basic upload:
curl -F "file=@/path/to/file" \
-u username:password \
https://share.tilde.horse/api/upload
With custom retention (hours):
curl -F "file=@/path/to/file" \
-u username:password \
-H "X-Retention: 48" \
https://share.tilde.horse/api/upload
Returns file URL. Response headers include quota information.
Check daily quota:
curl -u username:password \
https://share.tilde.horse/api/quota
Returns JSON with quota usage, including bytes and MB values
Delete files:
curl -X DELETE \
-u username:password \
https://share.tilde.horse/api/delete/FILENAME.EXT
You can only delete your own files
Set custom embed color (Discord, Telegram, etc.):
curl -X POST \
-u username:password \
-H "Content-Type: application/json" \
-d '{"color": "#ff5733"}' \
https://share.tilde.horse/api/embed/color
Supports hex colors: #4a9eff, 4a9eff, #fff, fff
Get your current embed color:
curl -u username:password \
https://share.tilde.horse/api/embed/color
Returns your custom color or the default branding color
Upload Script
CLI script with fzf integration and custom retention:
examples/upload.sh
Setup:
export HORSE_TOKEN=$(echo -n "username:password" | base64)
Usage (outputs URL to stdout for piping):
# Upload and copy to clipboard (Wayland)
./upload.sh /path/to/file | wl-copy
# Upload and copy to clipboard (X11)
./upload.sh /path/to/file | xclip -selection clipboard
# Upload from stdin
cat file.txt | ./upload.sh | wl-copy
# Interactive mode (requires fzf)
./upload.sh | wl-copy