Create a transcode or multi-video composition

Queues a new transcode job with support for single or multiple inputs. Supports simple presets (quality/resolution) or advanced mode (raw FFmpeg options). Billing is based on total input duration (sum of all inputs). Returns a short acknowledgement with status=pending; poll GET /v1/transcodes/{id} for the full resource. Quota and plan limits (processing minutes, max input file size) are checked asynchronously after the 201: a job that exceeds them transitions to failed with an explanatory error_message and error_category (quota or file_size) instead of an HTTP error.

post/v1/transcodes

Request

  • Base URL: https://api.ffmpeg-micro.com
  • URL: https://api.ffmpeg-micro.com/v1/transcodes
  • Auth: HTTP bearer

Request body

outputFormat'mp4' | 'webm' | 'mov' | 'avi' | 'mp3' | 'm4a' | 'aac' | 'wav' | 'ogg' | 'opus' | 'flac' | 'jpeg' | 'jpg' | 'png' | 'gif' | 'webp' required

Output container format — video (mp4, webm, mov, avi), audio (mp3, m4a, aac, wav, ogg, opus, flac) or image (jpeg/jpg, png, gif, webp). Validation is case/alias-insensitive (jpg = jpeg), but the value is STORED VERBATIM and reads back exactly as submitted. webm output automatically uses VP9/Opus codecs in preset and default modes; you only need explicit -c:v/-c:a options when supplying raw options.

metadataobject

Optional caller-supplied metadata for cross-referencing jobs with external systems (for example an original filename or a source record ID). Must be a JSON object; serialized size is capped at 8192 bytes. Stored under the user key of the job's metadata field, so the submitted value is available at metadata.user when fetching or listing jobs, and is echoed as metadata.user in the create response.

Example request

{
  "inputs": [
    {
      "url": "https://cdn.pixabay.com/video/2021/05/22/74779-554220620_large.mp4"
    }
  ],
  "options": [
    {
      "argument": {
        "text": "Hello\nWorld",
        "style": {
          "charsPerLine": 18,
          "font": "Arial",
          "fontSize": 60,
          "lineSpacing": 15,
          "fontColor": "white",
          "x": "0.15*w",
          "y": "(h-text_h)/2",
          "boxBorderW": 12
        }
      }
    }
  ],
  "metadata": {
    "original_filename": "clip.mp4",
    "drive_file_id": "1a2b3c"
  }
}

Response

Created

idstring uuid required
status'pending' required

New jobs always start as pending

inputUrlstring

First input URL (echo)

outputFormatstring
downloadTokenstring

Token for anonymous "Try It" downloads

Changes

No recorded changes to this operation across all 1 revision of this API.