{"id":20159566,"url":"https://github.com/transloadit/transloadify","last_synced_at":"2025-04-09T23:36:33.074Z","repository":{"id":21835706,"uuid":"25158758","full_name":"transloadit/transloadify","owner":"transloadit","description":"🤖☁️📽📦  Transloadit's cloud encoding in a box","archived":false,"fork":false,"pushed_at":"2023-08-29T12:27:45.000Z","size":4087,"stargazers_count":28,"open_issues_count":9,"forks_count":9,"subscribers_count":12,"default_branch":"main","last_synced_at":"2024-04-13T23:55:08.207Z","etag":null,"topics":["command-line","encoding","sdk","transloadit","uploading"],"latest_commit_sha":null,"homepage":"http://transloadify.io","language":"JavaScript","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,"publiccode":null,"codemeta":null}},"created_at":"2014-10-13T13:01:27.000Z","updated_at":"2024-06-19T00:16:12.990Z","dependencies_parsed_at":"2024-06-19T00:15:17.416Z","dependency_job_id":"420ab66a-8a85-461c-95c6-d81240ab3b9f","html_url":"https://github.com/transloadit/transloadify","commit_stats":null,"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/transloadit%2Ftransloadify","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/transloadit%2Ftransloadify/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/transloadit%2Ftransloadify/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/transloadit%2Ftransloadify/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/transloadit","download_url":"https://codeload.github.com/transloadit/transloadify/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248130875,"owners_count":21052816,"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":["command-line","encoding","sdk","transloadit","uploading"],"created_at":"2024-11-14T00:08:59.866Z","updated_at":"2025-04-09T23:36:33.044Z","avatar_url":"https://github.com/transloadit.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Transloadify\n\n\u003c!--more--\u003e\n\nTransloadify is a command line interface 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 **Command Line Interface** to make it easy to talk to the [Transloadit](https://transloadit.com) REST API.\n\nIt is a way for non-programmers to access the service, and serves as the shell script SDK. It can also be used as a\ncloud-based transcoding and media processing utility.\n\n## Features\n\n- Create and manage assemblies, templates, notifications, and bills\n- Process media in the cloud using any of Transloadit's facilities, including\n  full ffmpeg and ImageMagick support\n- Synchronize your Transloadit templates with local files (WIP)\n- File watching\n- Tab completion\n\n## Install\n\n```bash\n$ npm install -g transloadify\n```\n\n## Usage\n\nTransloadify needs Transloadit API authentication information. It looks for it\nin the environment variables `TRANSLOADIT_KEY` and `TRANSLOADIT_SECRET`. Check\nthe [API credentials](https://transloadit.com/accounts/credentials) page for\nthese values.\n\nSee `transloadify --help` for complete usage instructions.\n\n### Processing media\n\nTransloadify uses the [Transloadit API](https://transloadit.com/docs/).\nTransloadit allows you to process media in the cloud by creating \u003cdfn\u003eAssemblies\u003c/dfn\u003e.\nAn \u003cdfn\u003eAssembly\u003c/dfn\u003e is an execution of processing instructions on an uploaded file. The\nsimplest way to create \u003cdfn\u003eAssemblies\u003c/dfn\u003e using Transloadify is to put the processing\ninstructions (called \u003cdfn\u003eAssembly Instructions\u003c/dfn\u003e) in a JSON file and give it to\nTransloadify using the `--steps` option. Transloadify will then upload whatever\nis passed to it via standard in, and output the result file to standard out.\n\n```bash\n$ transloadify --steps steps.json \u003c input.jpg \u003e output.jpg\n```\n\nTransloadit supports \u003cdfn\u003eTemplates\u003c/dfn\u003e which are \u003cdfn\u003eAssembly Instructions\u003c/dfn\u003e stored in the\ncloud. \u003cdfn\u003eTemplates\u003c/dfn\u003e can be created and managed through Transloadify using the\n[`templates`](#user-content-templates) commands. If you have a \u003cdfn\u003eTemplate\u003c/dfn\u003e that you\nwould like to use to process media, you can specify it with the `--template`\noption instead of specifying a `--steps`.\n\n```bash\n$ transloadify --template TEMPLATE_ID \u003c input.jpg \u003e output.jpg\n```\n\nIf your \u003cdfn\u003eTemplate\u003c/dfn\u003e expects certain custom fields to be set, those can be specified\nusing the `--field` option.\n\n```bash\n$ transloadify --template TEMPLATE_ID --field size=100 \u003c input.jpg \u003e output.jpg\n```\n\nRather than use STDIN and STDOUT, you can also pass files to Transloadify using\nthe `--input` and `--output` flags. These flags are also more flexible than\nstandard IO because they can take directories, to process media in batch,\noptionally traversing subdirectories with the `--recursive` option.\n\n```bash\n$ transloadify --template TEMPLATE_ID --field size=100 \\\n    --input images --recursive --output thumbs\n```\n\nTransloadify also has the option to watch inputs for changes, using the\n`--watch` option, and reprocessing them whenever a change is detected.\n\n```bash\n$ transloadify --template TEMPLATE_ID --field size=100 \\\n    --input images --recursive --output thumbs --watch\n```\n\nAll of these flags support shortened versions, to avoid invocations getting too\nlong. See `transloadify assemblies create --help` for details. The above can be\nshortened to:\n\n```bash\n$ transloadify -tTEMPLATE_ID -fsize=100 -i images -o thumbs -wr\n```\n\n### Assemblies\n\nThe `transloadify assemblies` subcommand lets you manage assemblies. Using\ntransloadify you can create, cancel, replay, list, and fetch \u003cdfn\u003eAssembly Statuses\u003c/dfn\u003e.\nSee `transloadify assemblies --help` for a list of available actions, and\n`transloadify assemblies ACTION --help` for specific action documentation.\n\n#### Creation\n\nThe usage described in [Processing media](#user-content-processing-media)\nimplicitly uses the `transloadify assemblies create` command, which has the same\nbehavior as the bare `transloadify` command.\n\n#### Listing\n\nYou can use Transloadify to list assemblies associated with the account,\noptionally filtered by date and keywords. For instance:\n\n```bash\n$ transloadify assemblies list --after 2016-11-08\n```\n\nSee `transloadify assemblies list --help` for a list of accepted options.\n\nOne use-case is to recover failed assemblies once the issue has been resolved.\nIf a \u003cdfn\u003eTemplate\u003c/dfn\u003e definition contained an error that caused \u003cdfn\u003eAssemblies\u003c/dfn\u003e to fail, you\ncan salvage them by fixing the \u003cdfn\u003eTemplate\u003c/dfn\u003e and using an invocation like this, using\nthe [`jq`](https://stedolan.github.io/jq/) JSON utility.\n\n```bash\n$ transloadify assemblies list --json --after \"$AFFECTED_DATE\" \\\n  | jq -r 'select(.error) | .id' \\\n  | xargs transloadify assemblies get --json \\\n  | jq -r 'select(.template_id == \"'$AFFECTED_TEMPLATE'\") | .assembly_id' \\\n  | xargs transloadify assemblies replay --reparse-template\n```\n\n### Templates\n\n`transloadify templates` is used to create and manage templates. `transloadify\ntemplates --help` gives a list of supported actions.\n\n#### Modification\n\n`transloadify templates modify` will read new \u003cdfn\u003eTemplate\u003c/dfn\u003e contents from standard in\nif no file is specified. If you just want to rename a \u003cdfn\u003eTemplate\u003c/dfn\u003e using the\n`--name` option, the command will ignore empty input:\n\n```bash\n$ transloadify templates rename $TEMPLATE_ID --name my_template \u003c /dev/null\n```\n\n### Assembly Notifications\n\nSupport for listing and replaying \u003cdfn\u003eAssembly Notifications\u003c/dfn\u003e is provided by\n`transloadify assembly-notifications list` and `transloadify\nassembly-notifications replay` respectively.\n\n#### Listing\n\n`transloadify assembly-notifications list` can list, optionally\nfiltered by whether they succeeded or failed, either all \u003cdfn\u003eNotifications\u003c/dfn\u003e\nassociated with an account, or for a given \u003cdfn\u003eAssembly\u003c/dfn\u003e. If you would like to see\n\u003cdfn\u003eNotifications\u003c/dfn\u003e for a list of \u003cdfn\u003eAssemblies\u003c/dfn\u003e, it must be called for each one\nindividually.\n\n```bash\n$ transloadify assemblies list --after 2016-11-08 \\\n  | xargs -n1 transloadify assembly-notifications list\n```\n\n### Bills\n\nMonthly billing information can be fetched with `transloadify bills get\nYYYY-MM...`. By default only the total charge is output, but more detailed\ninformation can be displayed in JSON format with the `--json` flag.\n\n```bash\n$ transloadify bills get 2016-11 --json\n```\n\n### Tips\n\n- Command names have aliases; the following are interchangeable:\n  - `assemblies`, `assembly`, `a`\n  - `templates`, `template`, `t`\n  - `assembly-notifications`, `assembly-notification`, `notifications`,\n    `notification`, `n`\n  - `bills`, `bill`, `b`\n  - `create`, `new`, `c`\n  - `delete`, `cancel`, `d`\n  - `modify`, `edit`, `alter`, `m`\n  - `replay`, `r`\n  - `list`, `l`\n  - `get`, `info`, `view`, `display`, `g`\n- All output, from any command, can also be provided in JSON format using the `--json` flag\n\n## Example\n\nAn example script written to add a watermark to videos can be found here [`examples/`](https://github.com/transloadit/transloadify/tree/main/examples).\n\n## Getting Started\n\nPlease see the [GETTING-STARTED.md](./GETTING-STARTED.md) file.\n\n## Changelog\n\nPlease see the [CHANGELOG.md](./CHANGELOG.md) file.\n\n## Frequently Asked Questions\n\nPlease see the [FAQ.md](./FAQ.md) file.\n\n## Authors\n\n- [Adrian Sinclair](https://transloadit.com/about/#adrian)\n\n## License\n\n[The MIT License](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftransloadit%2Ftransloadify","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftransloadit%2Ftransloadify","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftransloadit%2Ftransloadify/lists"}