v1

latestOpenAPI 3.1.02026-07-26132249.4 KB
API
FFmpeg Commands

Get Command Status

Get the status of a previously submitted FFmpeg command. Works for regular commands and chained commands.

get/v1/commands/{command_id}

Path parameters

command_idstring required

The UUID of the FFmpeg command to check status for

The UUID of the FFmpeg command to check status for

Query parameters

presigned_ttl_secondsinteger nullable

If set, output files that are private AND already stored return storage_url as a presigned URL valid for this many seconds. For any other file (public, not yet stored, or deleted) the default storage_url is returned unchanged. See the private files guide.

If set, output files that are private AND already stored return storage_url as a presigned URL valid for this many seconds. For any other file (public, not yet stored, or deleted) the default storage_url is returned unchanged. See the private files guide.

Response

Successful Response

command_idstring required

Unique identifier for the submitted command

environment_namestring nullable required

The environment this command was created in (e.g., 'main', 'test', 'dev').

status'QUEUED' | 'PROCESSING' | 'PREPARED_FFMPEG_COMMAND' | 'FAILED' | 'SUCCESS' required
processing_stage'DOWNLOADING' | 'PREPARING_INPUT_FILES' | 'FFMPEG_PROCESSING' | 'UPLOADING'
command_type'FFMPEG_COMMAND' | 'FFMPEG_CHAINED_COMMANDS' required
error_statusstring nullable

Status of any error that occurred during command execution

error_messagestring nullable

Error details if the command failed

total_processing_secondsnumber nullable

Processing time, in seconds, since receiving the command, this includes network times, parsing times, and FFMPEG command execution time

ffmpeg_command_run_secondsnumber nullable

The exact time the specific FFMPEG command took on our servers, in seconds

vcpu_countinteger nullable

Number of virtual CPUs used for the command

output_filesobject nullable

Dictionary mapping file aliases to their output file storage, for output folder, the key is 'OUTPUT_FOLDER'

original_requestobject required

The original request that was sent to the server

processing_quota_usednumber nullable

Amount of processing quota used in MB

metadataobject nullable

Metadata stored with the command, used for custom tracking and reporting

Example response

{
  "command_id": "123e4567-e89b-12d3-a456-426614174000",
  "command_type": "FFMPEG_COMMAND",
  "environment_name": "main",
  "ffmpeg_command_run_seconds": 19.58051347732544,
  "metadata": {
    "key": "value"
  },
  "original_request": {
    "ffmpeg_command": "-i {{in_1}} -ss 00:00 -to 00:30 -filter_complex \"[0:v]split=2[vid1][vid2];[vid1]scale=trunc(oh*a/2)*2:320:force_original_aspect_ratio=decrease,pad=trunc(oh*a/2)*2:320:-1:-1[320p];[vid2]scale=trunc(oh*a/2)*2:180:force_original_aspect_ratio=decrease,pad=trunc(oh*a/2)*2:180:-1:-1[180p]\" -map [320p] -map 0:a -c:a copy -c:v libx264 -preset medium {{out_1}}  -map [180p] -map 0:a -c:a copy -c:v libx264 -preset medium {{out_2}}",
    "input_files": {
      "in_1": "https://storage.rendi.dev/sample/sample.avi"
    },
    "max_command_run_seconds": 300,
    "output_files": {
      "out_1": "output_320p.mp4",
      "out_2": "output_180p.mp4"
    },
    "vcpu_count": 8
  },
  "output_files": {
    "out_1": {
      "bitrate_audio_kb": 242.349609375,
      "bitrate_video_kb": 370.5654296875,
      "codec": "h264",
      "duration": 30,
      "file_format": "mp4",
      "file_id": "f775b15d-67e9-4235-b89f-4bb33c0a5f57",
      "file_type": "video",
      "frame_rate": 24,
      "height": 320,
      "is_varying_frame_rate": false,
      "mime_type": "video/mp4",
      "pixel_format": "yuv420p",
      "size_mbytes": 2.2677812576293945,
      "storage_url": "https://storage.rendi.dev/files/224ea098-5c10-419b-8a77-707d89443c56/42c95292-d953-4b5a-8a58-cf1513363a33/output_320p.mp4",
      "timebase": "1/25",
      "width": 568
    },
    "out_2": {
      "bitrate_audio_kb": 239.9833984375,
      "bitrate_video_kb": 160.955078125,
      "codec": "h264",
      "duration": 596.459,
      "file_format": "mp4",
      "file_id": "9df00eca-3221-49c6-8a64-07850c9a5921",
      "file_type": "video",
      "frame_rate": 24,
      "height": 180,
      "is_varying_frame_rate": false,
      "mime_type": "video/mp4",
      "pixel_format": "yuv420p",
      "size_mbytes": 29.620187759399414,
      "storage_url": "https://storage.rendi.dev/files/224ea098-5c10-419b-8a77-707d89443c56/42c95292-d953-4b5a-8a58-cf1513363a33/output_180p.mp4",
      "timebase": "1/25",
      "width": 320
    }
  },
  "processing_quota_used": 12.5,
  "status": "SUCCESS",
  "total_processing_seconds": 24.955581,
  "vcpu_count": 8
}