segs.lol
Settings
ShareX
Chatterino
Settings; External Tools; Image Uploader
| Request URL: | https://segs.lol/api/upload |
|---|---|
| Form field: | file |
| Image link: | {link} |
| Deletion link: | {delete} |
CLI
Bash
curl "https://segs.lol/api/upload" -F "file=@/path/to/file.png"
PowerShell
curl "https://segs.lol/api/upload" -F "file=@C:\path\to\file.png"
API
Upload
curl "https://segs.lol/api/upload" -F "file=@/home/supa/kappa.png"
Response
content-type: application/json
{
"id": "${id}",
"ext": ".png",
"type": "image/png",
"checksum": "${md5}",
"key": "${key}",
"origin": "https://segs.lol",
"private": false,
"link": "https://segs.lol/${id}",
"delete": "https://segs.lol/delete?${key}"
}SDK examples
Node.js (fetch)
import fs from "node:fs";
import FormData from "form-data";
const filePath = "/path/to/file.png";
const form = new FormData();
form.append("file", fs.createReadStream(filePath));
const res = await fetch("https://segs.lol/api/upload", {
method: "POST",
headers: { Authorization: "Bearer {token}" },
body: form
});
console.log(await res.json());Python (requests)
import requests
file_path = "/path/to/file.png"
with open(file_path, "rb") as f:
res = requests.post(
"https://segs.lol/api/upload",
headers={"Authorization": "Bearer {token}"},
files={"file": f},
)
print(res.json())PHP (cURL)
<?php
$file = new CURLFile("/path/to/file.png");
$ch = curl_init("https://segs.lol/api/upload");
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ["Authorization: Bearer {token}"],
CURLOPT_POSTFIELDS => ["file" => $file],
CURLOPT_RETURNTRANSFER => true,
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;Auth
Authorization: Bearer {token} X-API-Key: {token} https://segs.lol/api/upload?token={token}Private upload
curl "https://segs.lol/api/upload" -F "file=@/path/to/file.png" -F "visibility=private" -F "password=secret"
Access
https://segs.lol/{id}?pw=secret X-File-Password: secret
Delete
curl "https://segs.lol/api/delete?key=$fileKey"
Response
content-type: application/json
{
"success": true
}Object
curl "https://segs.lol/api/object?id=$fileId"
Response
content-type: application/json
{
"id": "${id}",
"type": "${mimetype}",
"date": "${Number(unixUploadTimeMS)}",
"size": "${Number(bytes)}",
"checksums": {
"md5": "${md5}"
},
"name": "${filename} (nullable)"
}Download options
https://segs.lol/{id}?skip-cd=trueLimits & Errors
Rate limits
Upload 20/min, Delete 60/min, Object 120/min
Errors
400 bad request, 401 unauthorized, 403 forbidden, 404 not found,
413 file too large, 429 too many requests, 500 server error
Looking for a cool song/video queue manager for your Twitch chat?
Either way, check out
chat.vote/playlist!