Skip to main content
ShareX is a popular Windows screenshot and file sharing tool. Zipline has built-in support for ShareX, making it easy to upload screenshots, files, and create short URLs directly from your desktop.

Prerequisites

  • A running Zipline instance
  • ShareX installed on your Windows machine
  • A Zipline user account with an API token

Getting Your API Token

1

Log in to Zipline

Navigate to your Zipline instance and log in to your account.
2

Access User Settings

Click on your profile icon and navigate to Settings.
3

Generate Config

In the Settings page, find the Generators section. Click on the ShareX option to download a pre-configured .sxcu file.
The generated config file includes your API token and all necessary upload settings. Keep this file secure as it contains authentication credentials.

Manual Configuration

If you prefer to configure ShareX manually, follow these steps:
1

Open ShareX Destinations

In ShareX, go to DestinationsDestination settings.
2

Add Custom Uploader

Navigate to Custom uploaders and click New.
3

Configure Upload Settings

Set up the uploader with the following configuration:

File Upload Configuration

{
  "Version": "17.0.0",
  "Name": "Zipline - File Upload",
  "DestinationType": "ImageUploader, TextUploader, FileUploader",
  "RequestMethod": "POST",
  "RequestURL": "https://your-zipline-instance.com/api/upload",
  "Headers": {
    "authorization": "your-api-token-here"
  },
  "Body": "MultipartFormData",
  "FileFormName": "file",
  "URL": "{json:files[0].url}"
}

URL Shortener Configuration

{
  "Version": "17.0.0",
  "Name": "Zipline - URL Shortener",
  "DestinationType": "URLShortener, URLSharingService",
  "RequestMethod": "POST",
  "RequestURL": "https://your-zipline-instance.com/api/user/urls",
  "Headers": {
    "authorization": "your-api-token-here"
  },
  "Body": "JSON",
  "Data": "{\"destination\": \"{input}\"}",
  "URL": "{json:url}"
}
Replace https://your-zipline-instance.com with your actual Zipline server URL and your-api-token-here with your API token from Zipline settings.

Advanced Options

Zipline supports additional upload options through custom headers:

Custom Headers

{
  "Headers": {
    "authorization": "your-token",
    "x-zipline-deletes-at": "24h"
  }
}

Available Headers

HeaderDescriptionExample Values
x-zipline-deletes-atSet file expiration24h, 7d, never, date=2024-12-31
x-zipline-formatFilename formatrandom, uuid, date, name, gfycat
x-zipline-image-compression-percentImage compression quality (0-100)80, 60, 90
x-zipline-max-viewsMaximum views before deletion1, 10, 100
x-zipline-passwordPassword protect the fileAny string
x-zipline-original-nameKeep original filenametrue, false
x-zipline-domainCustom return domaincdn.example.com

XShare Compatibility (Android)

If you’re using the XShare app on Android, enable the compatibility option in Zipline’s generator settings:
{
  "URL": "$json:files[0].url$"
}
This changes the response parsing format to be compatible with XShare’s JSON parser.

Troubleshooting

Upload fails with 401 Unauthorized

  • Verify your API token is correct
  • Check that the authorization header is set properly
  • Ensure your Zipline user account is active

Upload fails with 413 Payload Too Large

  • Check your file size limits in Zipline configuration
  • Verify your user quota hasn’t been exceeded
  • Contact your Zipline administrator for increased limits

Response URL is not captured

For file uploads, ensure the URL pattern is set to:
  • ShareX: {json:files[0].url}
  • XShare: $json:files[0].url$
For URL shortening, use: {json:url}

Next Steps

API Documentation

Learn more about the upload API endpoints

Flameshot Integration

Set up Flameshot on Linux

Build docs developers (and LLMs) love