Skip to main content
POST
/
upload
Upload file(s)
curl --request POST \
  --url https://api.snipp.gg/upload \
  --header 'Content-Type: multipart/form-data' \
  --header 'api-key: <api-key>' \
  --form file='@example-file'
{
  "message": "Upload successful!",
  "url": "<string>",
  "file": {
    "size": 123,
    "size_formatted": "<string>",
    "mime_type": "<string>",
    "dimensions": {
      "width": 123,
      "height": 123
    }
  },
  "processing_time": 123,
  "post": {
    "code": "<string>",
    "url": "<string>",
    "postPrivacy": "public"
  }
}
Upload 1-9 files in a single request. Every upload automatically creates a post. When sending multiple files, they are grouped into an album by default.

Headers

HeaderRequiredDescription
api-keyYesYour API key
post-privacyNopublic, unlisted, or private (default)
posttitleNoPost title, max 30 characters
postdescriptionNoPost description, max 200 characters
post-typeNoalbum (default) or individual — only applies to 2+ files

Behavior

  • 1 file → creates a single post, post-type is ignored
  • 2+ files, no header or album → creates one album post containing all files
  • 2+ files, individual → creates a separate post for each file

Examples

Upload a single file:
curl -X POST "https://api.snipp.gg/upload" \
  -H "api-key: YOUR_API_KEY" \
  -H "post-privacy: unlisted" \
  -H "posttitle: My screenshot" \
  -F "file=@screenshot.png"
Upload an album (2+ files default to album):
curl -X POST "https://api.snipp.gg/upload" \
  -H "api-key: YOUR_API_KEY" \
  -H "post-privacy: public" \
  -H "posttitle: Vacation photos" \
  -F "file=@photo1.png" \
  -F "file=@photo2.png" \
  -F "file=@photo3.png"
Upload multiple files as individual posts:
curl -X POST "https://api.snipp.gg/upload" \
  -H "api-key: YOUR_API_KEY" \
  -H "post-type: individual" \
  -F "file=@image1.png" \
  -F "file=@image2.png"

Authorizations

api-key
string
header
required

Your API key from Snipp.gg

Headers

post-privacy
enum<string>
default:private

Privacy for the generated post: private (default), unlisted (accessible via link), or public (visible on Discover)

Available options:
public,
unlisted,
private
posttitle
string

Post title (max 30 characters)

Maximum string length: 30
postdescription
string

Post description (max 200 characters)

Maximum string length: 200
post-type
enum<string>
default:album

Only relevant when uploading 2+ files. album (default) groups all files into a single album post. individual creates a separate post per file.

Available options:
album,
individual

Body

multipart/form-data
file
file

1-9 image or video files. Use multiple file fields for multi-file uploads.

Response

Upload successful. Response shape depends on whether 1 or multiple files were uploaded.

Single file response

message
string
Example:

"Upload successful!"

url
string

Direct URL to the uploaded file

file
object
processing_time
integer
post
object