Dynamic Ingest API: Best Practices

The topic provides best practices for using the Dynamic Ingest API.

Introduction

The Dynamic Ingest API is powerful and flexible, but to use it most effectively, you need to follow some best practices, which are detailed below.

Best practices

Below are rules and guidelines for Dynamic Ingest.

  • The profile field for ingest requests is optional. Avoid hard-coding the profile in apps and integrations - instead, set the most commonly used profile as the default for the account and omit the field, or fetch the available profiles for the account and force the user to choose one.
  • No more than 10 requests per minute on the same video are allowed.
  • You should not have duplicate jobs processing for the same video, though ingesting other assets, such as images and text tracks, along with the video in the same job is fine.

    if you are using an automated process for creating ingestion jobs that could potentially create multiple jobs on the same video ID, you need to check notifications to ensure that there are no other jobs processing on the same video before creating a new one.

  • A 20 request-per-second limit on each account for total requests across Dynamic Ingest and the CMS API.
  • Normal priority supports up to 200 concurrent jobs per account, after this quota is reached the system will queue the request up to 10,000. After that a new request will be rejected. The system constantly validates concurrent jobs and moves them from the queue to concurrent.
  • Low priority supports up to 100 concurrent jobs per account, after this quota is reached the system will queue the request up to 20,000. After that a new request will be rejected. One thing to keep on mind is low priority could take longer to be completed.
  • If you are ingesting large batches of files, consider using the Low Priority queue which will allow you to queue up to 20,000 jobs.
  • There is no file size limit for the ingested content, but there is a duration limit of 24 hours for videos.
  • If you are ingesting files in batches, limit concurrent normal priority jobs to 100 and wait for one job to complete processing before adding another - see Fallback / Retry Strategy for more information. Alternatively, you can set "priority": "low" - using low priority, you do not have to worry about the size of your ingest queue, though processing may take a little longer.
  • Validate your ingest profile changes to ensure you are getting the results you want before ingesting full batches.