Transloadit
Pricing
Log in
Sign up
EssentialsRobotsFAQAPIFormats
Getting started
  • Overview
  • My first App
  • Saving result files
Topics
  • Assembly Instructions
  • Assembly Variables
  • Dynamic Evaluation
  • Templates
  • Webhooks
  • Third party Credentials
  • Builtin Templates
  • Resize Strategies
  • Advanced use Parameter
  • Assembly Execution Progress
  • Workspaces
  • AI Agents
Software Development Kits
  • Overview
  • HTTP REST API
  • Android SDK
  • Browsers
  • Convex
  • cURL
  • Go SDK
  • Java SDK
  • jQuery SDK
  • MCP Server
  • Multipart Form
  • Node.js SDK
  • PHP SDK
  • Python SDK
  • Ruby SDK
  • Terraform
  • TransloaditKit
  • Zapier Integration
Community Projects
  • Overview

Android SDK

transloadit/android-sdk

Install

The JARs can be downloaded manually from Maven Central.

Gradle:

implementation 'com.transloadit.android.sdk:transloadit-android:0.2.0'

Maven:

<dependency>
  <groupId>com.transloadit.android.sdk</groupId>
  <artifactId>transloadit-android</artifactId>
  <version>0.2.0</version>
</dependency>

Usage

All interactions with the SDK begin with the com.transloadit.android.sdk.AndroidTransloadit class.

Authentication Methods

The SDK supports two authentication methods:

1. Traditional Authentication (with Secret Key)

This is suitable for server-side or internal-only apps:

AndroidTransloadit transloadit = new AndroidTransloadit("YOUR_KEY", "YOUR_SECRET");

2. Signature Authentication (recommended for production apps)

For production mobile apps, use a backend signature endpoint so the secret stays on your server:

SignatureProvider signatureProvider = new SignatureProvider() {
  @Override
  public String generateSignature(String paramsJson) throws Exception {
    // Fetch a precomputed Transloadit signature from your backend.
    return "sha384:...";
  }
};

AndroidTransloadit transloadit = new AndroidTransloadit("YOUR_KEY", signatureProvider);

Create an Assembly

To create an assembly, you use the newAssembly method.

To use this functionality fully, implement the AndroidAssemblyListener interface.

public class MyAssemblyListener implements AndroidAssemblyListener {

  @Override
  public void onUploadFinished() {
    System.out.println("upload finished!!! waiting for execution ...");
  }

  @Override
  public void onUploadProgress(long uploadedBytes, long totalBytes) {
    System.out.println("uploaded: " + uploadedBytes + " of: " + totalBytes);
  }

  @Override
  public void onAssemblyFinished(AssemblyResponse response) {
    System.out.println("Assembly finished with status: " + response.json().getString("ok"));
  }

  @Override
  public void onUploadFailed(Exception exception) {
    System.out.println("upload failed :(");
    exception.printStackTrace();
  }

  @Override
  public void onAssemblyStatusUpdateFailed(Exception exception) {
    System.out.println("unable to fetch status update :(");
    exception.printStackTrace();
  }
}

And in your activity you can have something like this

public class MainActivity extends AppCompatActivity {

  private ProgressBar progressBar;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    progressBar = (ProgressBar) findViewById(R.id.progressBar);

    AndroidAssemblyListener listener = new MyAssemblyListener();

    AndroidTransloadit transloadit = new AndroidTransloadit("key", "secret");
    AndroidAssembly assembly = transloadit.newAssembly(listener, this /* activity context */);
    assembly.addFile(new File("path/to/file.jpg"), "file");

    Map<String, Object> stepOptions = new HashMap<>();
    stepOptions.put("width", 75);
    stepOptions.put("height", 75);
    stepOptions.put("resize_strategy", "pad");
    assembly.addStep("resize", "/image/resize", stepOptions);

    assembly.saveAsync();
  }
}

Example

For fully working examples take a look at examples/.

Documentation

See Javadoc for full API documentation.

← HTTP REST API Browsers →
Transloadit
© 2009–2026 Transloadit-II GmbH
Privacy⋅Terms⋅Imprint

Product

  • Services
  • Pricing
  • Demos
  • Security
  • Support

Company

  • About
  • Blog / Jobs
  • Comparisons
  • Open source
  • Press

Docs

  • Getting started
  • Transcoding
  • FAQ
  • API
  • Supported formats

More

  • Platform status
  • Community forum
  • StackOverflow
  • Uppy
  • Tus