{"id":20159562,"url":"https://github.com/transloadit/java-sdk","last_synced_at":"2025-04-09T23:40:21.637Z","repository":{"id":44634729,"uuid":"74448557","full_name":"transloadit/java-sdk","owner":"transloadit","description":"Java client for Transloadit upload service","archived":false,"fork":false,"pushed_at":"2024-04-13T20:45:54.000Z","size":2827,"stargazers_count":11,"open_issues_count":5,"forks_count":7,"subscribers_count":6,"default_branch":"main","last_synced_at":"2024-04-14T10:55:05.096Z","etag":null,"topics":["encoding","java","sdk","transloadit","uploading"],"latest_commit_sha":null,"homepage":" https://transloadit.com","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/transloadit.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2016-11-22T07:59:43.000Z","updated_at":"2024-04-23T11:13:07.571Z","dependencies_parsed_at":"2023-12-03T14:25:24.336Z","dependency_job_id":"d7c5ebaf-be2f-4aab-b676-a9a5cca84af8","html_url":"https://github.com/transloadit/java-sdk","commit_stats":null,"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/transloadit%2Fjava-sdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/transloadit%2Fjava-sdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/transloadit%2Fjava-sdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/transloadit%2Fjava-sdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/transloadit","download_url":"https://codeload.github.com/transloadit/java-sdk/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248131465,"owners_count":21052819,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["encoding","java","sdk","transloadit","uploading"],"created_at":"2024-11-14T00:08:59.806Z","updated_at":"2025-04-09T23:40:21.627Z","avatar_url":"https://github.com/transloadit.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Tests](https://github.com/transloadit/java-sdk/actions/workflows/tests.yml/badge.svg?branch=main)](https://github.com/transloadit/java-sdk/actions/workflows/tests.yml)\n\n## java-sdk\n\nA **Java** Integration for [Transloadit](https://transloadit.com)'s file uploading and encoding service\n\n## Intro\n\n[Transloadit](https://transloadit.com) is a service that helps you handle file uploads, resize, crop and watermark your images, make GIFs, transcode your videos, extract thumbnails, generate audio waveforms, and so much more. In short, [Transloadit](https://transloadit.com) is the Swiss Army Knife for your files.\n\nThis is a **Java** SDK to make it easy to talk to the [Transloadit](https://transloadit.com) REST API.\n\n## Install\n\nThe JARs can be downloaded manually from [Maven Central Search](https://search.maven.org/artifact/com.transloadit.sdk/transloadit),\nor can be installed from the Maven repository.\n\nExisting users should take note of the [JCenter shutdown](https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter/) and update their build files to receive the most recent versions.\n\n**Gradle:**\n\n```groovy\nimplementation 'com.transloadit.sdk:transloadit:2.0.0'\n```\n\n**Maven:**\n\n```xml\n\u003cdependency\u003e\n  \u003cgroupId\u003ecom.transloadit.sdk\u003c/groupId\u003e\n  \u003cartifactId\u003etransloadit\u003c/artifactId\u003e\n  \u003cversion\u003e2.0.0\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n## Usage\n\nAll interactions with the SDK begin with the `com.transloadit.sdk.Transloadit` class.\n\n### Create an Assembly\n\nTo create an assembly, you use the `newAssembly` method.\n\n```java\nimport com.transloadit.sdk.Transloadit;\nimport com.transloadit.sdk.exceptions.LocalOperationException;\nimport com.transloadit.sdk.exceptions.RequestException;\nimport com.transloadit.sdk.response.AssemblyResponse;\n\nimport java.io.File;\nimport java.util.HashMap;\n\npublic class Main {\n    public static void main(String[] args) {\n        Transloadit transloadit = new Transloadit(\"YOUR_TRANSLOADIT_KEY\", \"YOUR_TRANSLOADIT_SECRET\");\n\n        Assembly assembly = transloadit.newAssembly();\n\n        Map\u003cString, Object\u003e stepOptions = new HashMap\u003c\u003e();\n        stepOptions.put(\"width\", 75);\n        stepOptions.put(\"height\", 75);\n        assembly.addStep(\"resize\", \"/image/resize\", stepOptions);\n\n        assembly.addFile(new File(\"PATH/TO/FILE.jpg\"));\n        // you can skip this part if you don't want to wait till the\n        // assembly is complete\n        assembly.setShouldWaitForCompletion(true);\n        try {\n            AssemblyResponse response = assembly.save();\n\n            System.out.println(response.getId());\n            System.out.println(response.getUrl());\n            System.out.println(response.json());\n\n        } catch (RequestException | LocalOperationException e) {\n            // handle exception here\n        }\n    }\n}\n```\n\n### Get an Assembly\n\nThe method, `getAssembly`,  retrieves the JSON status of an assembly identified by the given `assembly_Id`.\n\n```java\nimport com.transloadit.sdk.Transloadit;\nimport com.transloadit.sdk.exceptions.LocalOperationException;\nimport com.transloadit.sdk.exceptions.RequestException;\nimport com.transloadit.sdk.response.AssemblyResponse;\n\npublic class Main {\n    public static void main(String[] args) {\n        Transloadit transloadit = new Transloadit(\"YOUR_TRANSLOADIT_KEY\", \"YOUR_TRANSLOADIT_SECRET\");\n\n        try {\n            AssemblyResponse response = transloadit.getAssembly(\"ASSEMBLY_ID\");\n\n            System.out.println(response.getUrl());\n            System.out.println(response.json());\n\n        } catch (RequestException | LocalOperationException e) {\n            // handle exception here\n        }\n    }\n}\n```\n\n\nYou may also get an assembly by url with the `getAssemblyByUrl` method.\n\n```java\n    AssemblyResponse response = transloadit.getAssemblyByUrl(\"ASSEMBLY_URL\");\n```\n\n### Cancel an Assembly\n\nTo cancel an executing assembly, you use the `cancelAssembly` method, passing the Assembly ID as a parameter.\n\n```java\nimport com.transloadit.sdk.Transloadit;\nimport com.transloadit.sdk.exceptions.LocalOperationException;\nimport com.transloadit.sdk.exceptions.RequestException;\nimport com.transloadit.sdk.response.AssemblyResponse;\n\npublic class Main {\n    public static void main(String[] args) {\n        Transloadit transloadit = new Transloadit(\"YOUR_TRANSLOADIT_KEY\", \"YOUR_TRANSLOADIT_SECRET\");\n\n        try {\n            AssemblyResponse response = transloadit.cancelAssembly(\"ASSEMBLY_ID\");\n\n            System.out.println(response.isCancelled()); // prints true\n        } catch (RequestException | LocalOperationException e) {\n            // handle exception here\n        }\n    }\n}\n```\n\n### List Assemblies\n\nThe method, `listAssemblies`, retrieves an array of assemblies according to the given `options`. Valid `options` can be `page`,\n`pagesize`, `type`, `fromdate` and `todate`. Please consult the [Transloadit API docs](https://transloadit.com/docs/api/assemblies-get/)\nfor details.\n\n```java\nimport com.transloadit.sdk.Transloadit;\nimport com.transloadit.sdk.exceptions.LocalOperationException;\nimport com.transloadit.sdk.exceptions.RequestException;\nimport com.transloadit.sdk.response.ListResponse;\n\nimport java.util.HashMap;\n\npublic class Main {\n    public static void main(String[] args) {\n        Transloadit transloadit = new Transloadit(\"YOUR_TRANSLOADIT_KEY\", \"YOUR_TRANSLOADIT_SECRET\");\n\n        try {\n            Map\u003cString, Object\u003e options = new HashMap\u003c\u003e();\n            options.put(\"pagesize\", 10);\n            ListResponse response = transloadit.listAssemblies(options);\n\n            System.out.println(response.size());  // number of assemblies on the list.\n            System.out.println(response.getItems());  // returns an iterable json array\n\n        } catch (RequestException | LocalOperationException e) {\n            // handle exception here\n        }\n    }\n}\n```\n\n### Create a Template\n\nTo create a new template, you use the `newTemplate` method, passing the template name as a parameter.\n\n```java\nimport com.transloadit.sdk.Transloadit;\nimport com.transloadit.sdk.exceptions.LocalOperationException;\nimport com.transloadit.sdk.exceptions.RequestException;\nimport com.transloadit.sdk.response.Response;\n\nimport java.util.HashMap;\n\npublic class Main {\n    public static void main(String[] args) {\n        Transloadit transloadit = new Transloadit(\"YOUR_TRANSLOADIT_KEY\", \"YOUR_TRANSLOADIT_SECRET\");\n\n        Template template = transloadit.newTemplate(\"MY_TEMPLATE_NAME\");\n\n        Map\u003cString, Object\u003e resizeOptions = new HashMap\u003c\u003e();\n        resizeOptions.put(\"width\", 75);\n        resizeOptions.put(\"height\", 75);\n\n        Map\u003cString, Object\u003e optimizeOptions = new HashMap\u003c\u003e();\n        optimizeOptions.put(\"use\", \":original\");\n\n        template.addStep(\"resize\", \"/image/resize\", resizeOptions);\n        template.addStep(\"resize\", \"/image/optimize\", optimizeOptions);\n\n        try {\n            Response response = template.save();\n\n            System.out.println(response.json());\n            System.out.println(response.json().getString(\"id\")); // gets the Template ID.\n        } catch (RequestException | LocalOperationException e) {\n            // handle exception here\n        }\n    }\n}\n```\n\n### Update a Template\n\nTo update a template, you use the `updateTemplate` method, passing the Template ID and options to update as a parameters.\n\n```java\nimport com.transloadit.sdk.Transloadit;\nimport com.transloadit.sdk.Steps;\nimport com.transloadit.sdk.exceptions.LocalOperationException;\nimport com.transloadit.sdk.exceptions.RequestException;\nimport com.transloadit.sdk.response.Response;\n\nimport java.util.HashMap;\n\npublic class Main {\n    public static void main(String[] args) {\n        Transloadit transloadit = new Transloadit(\"YOUR_TRANSLOADIT_KEY\", \"YOUR_TRANSLOADIT_SECRET\");\n\n        Steps steps = new Steps();\n\n        Map\u003cString, Object\u003e stepOptions = new HashMap\u003c\u003e();\n        stepOptions.put(\"width\", 150);\n        stepOptions.put(\"height\", 150);\n        steps.addStep(\"resize\", \"/image/resize\", stepOptions);\n\n        Map\u003cString, Object\u003e templateOptions = new HashMap\u003c\u003e();\n        templateOptions.put(\"steps\", steps.toMap());\n        templateOptions.put(\"name\", \"MY_NEW_TEMPLATE_NAME\");\n\n        try {\n            Response response = transloadit.updateTemplate(\"TEMPLATE_ID\", templateOptions);\n\n        } catch (RequestException | LocalOperationException e) {\n            // handle exception here\n        }\n    }\n}\n```\n\n### Delete a Template\n\nTo delete a template, you use the `deleteTemplate` method, passing the Template ID as a parameter.\n\n```java\nimport com.transloadit.sdk.Transloadit;\nimport com.transloadit.sdk.exceptions.LocalOperationException;\nimport com.transloadit.sdk.exceptions.RequestException;\nimport com.transloadit.sdk.response.Response;\n\nimport java.util.HashMap;\n\npublic class Main {\n    public static void main(String[] args) {\n        Transloadit transloadit = new Transloadit(\"YOUR_TRANSLOADIT_KEY\", \"YOUR_TRANSLOADIT_SECRET\");\n\n        try {\n            Response response = transloadit.deleteTemplate(\"TEMPLATE_ID\");\n\n        } catch (RequestException | LocalOperationException e) {\n            // handle exception here\n        }\n    }\n}\n```\n\n### List Templates\n\nTo get a list of all templates under your account, you use the `listTemplates` method.\n\n```java\nimport com.transloadit.sdk.Transloadit;\nimport com.transloadit.sdk.exceptions.LocalOperationException;\nimport com.transloadit.sdk.exceptions.RequestException;\nimport com.transloadit.sdk.response.ListResponse;\n\npublic class Main {\n    public static void main(String[] args) {\n        Transloadit transloadit = new Transloadit(\"YOUR_TRANSLOADIT_KEY\", \"YOUR_TRANSLOADIT_SECRET\");\n\n        try {\n            ListResponse response = transloadit.listTemplates();\n\n            System.out.println(response.size());  // number of assemblies on the list.\n            System.out.println(response.getItems());  // returns an iterable json array\n\n        } catch (RequestException | LocalOperationException e) {\n            // handle exception here\n        }\n    }\n}\n```\n\n### Get a template\n\nTo get a particular template, you use the `getTemplate` method, passing the Template ID as a parameter.\n\n```java\nimport com.transloadit.sdk.Transloadit;\nimport com.transloadit.sdk.exceptions.LocalOperationException;\nimport com.transloadit.sdk.exceptions.RequestException;\nimport com.transloadit.sdk.response.Response;\n\npublic class Main {\n    public static void main(String[] args) {\n        Transloadit transloadit = new Transloadit(\"YOUR_TRANSLOADIT_KEY\", \"YOUR_TRANSLOADIT_SECRET\");\n\n        try {\n            AssemblyResponse response = transloadit.getTemplate(\"TEMPLATE_ID\");\n            System.out.println(response.json());\n        } catch (RequestException | LocalOperationException e) {\n            // handle exception here\n        }\n    }\n}\n```\n\n### Get bill\n\nTo get your account billing details for a particular month, you use the `getBill` method, passing the month and year as parameters.\n\n```java\nimport com.transloadit.sdk.Transloadit;\nimport com.transloadit.sdk.exceptions.LocalOperationException;\nimport com.transloadit.sdk.exceptions.RequestException;\nimport com.transloadit.sdk.response.Response;\n\npublic class Main {\n    public static void main(String[] args) {\n        Transloadit transloadit = new Transloadit(\"YOUR_TRANSLOADIT_KEY\", \"YOUR_TRANSLOADIT_SECRET\");\n\n        try {\n            ListResponse response = transloadit.getBill(3, 2017);\n\n            System.out.println(response.json());\n        } catch (RequestException | LocalOperationException e) {\n            // handle exception here\n        }\n    }\n}\n```\n\n## Example\n\nFor fully working examples take a look at [/examples](https://github.com/transloadit/java-sdk/tree/main/examples).\n\n## Documentation\n\nSee [Javadoc](https://javadoc.io/doc/com.transloadit.sdk/transloadit) for full API documentation.\n\n## License\n\n[The MIT License](LICENSE).\n\n## Verfication \nReleases can be verified with our GPG Release Signing Key:\n\n\n`User ID: Transloadit Release Signing Key \u003ckeys@transloadit.com\u003e`\n\n`Fingerprint: 2F4F F0E1 8659 76C6 5B73 782B ECBD 0B65 8705 AE5A`\n\nOr download it from [keys.openpgp.org](https://keys.openpgp.org/vks/v1/by-fingerprint/2F4FF0E1865976C65B73782BECBD0B658705AE5A)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftransloadit%2Fjava-sdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftransloadit%2Fjava-sdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftransloadit%2Fjava-sdk/lists"}