Skip to main content

Dynamic Inputs

Rendi now supports using a compressed .zip folder as an FFmpeg input source. Use the field input_compressed_folder to supply a URL pointing to a .zip file. Rendi automatically downloads and decompresses the archive before running your FFmpeg command.
Important: Command runtime includes the time required to decompress the .zip file.

Example Request — Using a ZIP folder as input

curl --location 'https://api.rendi.dev/v1/run-ffmpeg-command' \
--header 'X-API-KEY: <api-key>' \
--header 'Content-Type: application/json; charset=utf-8' \
--data '{
  "input_compressed_folder": "https://storage.rendi.dev/sample/playlist_sample.zip",
  "output_files": {
    "out_1": "output.mp4"
  },
  "ffmpeg_command": "-i playlist.m3u8 -c copy -bsf:a aac_adtstoasc {{out_1}}",
  "vcpu_count": 8
}'

Dynamic Outputs

Rendi also supports compressed output folders. To enable this, set the output_files field to the special flag:
OUTPUT_FOLDER
When this flag is used, Rendi creates a .zip archive containing only the output files produced by your FFmpeg command.
Important: Command runtime includes the time required to compress the output folder.

Example Request — Generating a ZIP output folder

curl --location 'https://api.rendi.dev/v1/run-ffmpeg-command' \
--header 'X-API-KEY: <api-key>' \
--header 'Content-Type: application/json; charset=utf-8' \
--data '{
    "input_files": {
        "in_1": "https://storage.rendi.dev/sample/sample.avi"
    },
    "output_files": "OUTPUT_FOLDER",
    "ffmpeg_command": "-i {{in_1}} -t 25 -c:v h264 -c:a aac -b:v 2000k -b:a 128k -hls_time 5 -hls_list_size 0 -f hls playlist.m3u8"
}'

Response Format for Compressed Output Folders

In addition to the usual fields, the response includes extra metadata describing the generated .zip archive:
{
  "command_id": "41938bd7-3550-46d8-87c3-9d0b3200e7fb",
  "status": "SUCCESS",
  "command_type": "FFMPEG_COMMAND",
  "total_processing_seconds": 31.964526,
  "ffmpeg_command_run_seconds": 3.218038558959961,
  "vcpu_count": 8,
  "output_files": {
      "OUTPUT_FOLDER": {
          "file_id": "8d9ebcfb-f560-4858-af5c-bd5bf426d874",
          "storage_url": "https://storage.rendi.dev/files/.../41938bd7-3550-46d8-87c3-9d0b3200e7fb.zip",
          "status": "STORED",
          "rendi_store_type": "OUTPUT",
          "is_deleted": false,
          "size_mbytes": 6.900238990783691,
          "file_type": "zip",
          "file_format": "zip",
          "file_count": 6,
          "size_compressed_mbytes": 5.120238990783691
      }
  }
}

Field Descriptions

  • file_count — Number of files contained inside the output .zip folder.
  • size_mbytes — Total size (MB) of all files before compression.
  • size_compressed_mbytes — Final compressed .zip size stored in Rendi.
  • file_format — Always zip.
  • storage_url — The download URL of the compressed output folder.
The compressed output file name is: <command_id>.zip

Processing & Storage

  1. Processing quota for inputs is calculated based on the size of the files after decompression.
  2. Processing quota for OUTPUT_FOLDER uses the size of files before compression.
  3. Storage usage is based on the size of the compressed .zip file.