Bulk Video Import Feed

The purpose of this document is to describe how the Creatable platform ingests video content from a data feed on a periodic basis. These data feeds can be configured to ingest your own content, or vendor supplied content, automatically.

Data file ingestion options and scheduling

In order to bulk ingest video content, the Creatable Platform must have access to a data feed file so that it can be ingested. The following methods are available for this process:

  1. Place the file on the Creatable provided FTP/SFTP server.
  2. Make the file available to Creatable via HTTP/HTTPS.

The Creatable Platform will ingest the file from either location. Note that if using option 2, only Basic HTTP Authorization is available, sending custom headers or tokens for authorization purposes is not available.

First you must configure a job. From Account > Settings in the Creatable dashboard, click on the "Jobs" tab. Then click "New Job".

Enter a name, select "Content video feed" as the Job type.

Provide the publicly available URL as indicated above, choose whether or not to publish content on ingest, skip the first row of your file, and/or to replace the video asset (update the video file) if using a reference ID that already exists in the Creatable dashboard.

You can also choose to schedule your job start time and frequency from this modal.

Next, configure the field mapping for your file as shown below. 

Screen Shot 2024-09-19 at 11.22.42 AM

Note: Custom fields can be added to your mapping by clicking on the "Add" button and selecting from the list of fields that exist in your account.

Data file format

The following describes the requirements for the data file format and specific requirements for the data file itself.

Sample File

The format of the file must be TSV -- “Tab” separated values. This reduces the potential for errors/issues when generating or reading the file.

File Data Column Reference:

Column: Reference ID (Field Name: referenceId)

Format: Maximum 40 alpha-numeric characters

Description: A unique ID assigned to a video. This ID must not be duplicated, otherwise it will cause an UPDATE to occur and not the intended INSERT.

Column: Title (Field Name: title)

Format: Maximum 255 characters

Description: The title of the video as you wish it to appear in the platform and on your Creatable video commerce experiences.

Column: Description (Field Name: description)

Format: Maximum 5000 characters

Description: The description of the video as you wish it to appear in the platform and on your Creatable video commerce experiences. Note: Do not supply HTML content in this column as this tends to cause problems with the CSV file format.

Column: Tags (Field Name: tags)

Format: Maximum 255 characters

Description: A set of keywords or tags related to the video.

Column: Asset URL (Field Name: url)

Format: Maximum 1024 characters, must be a valid URL.

Description: This is a direct link to the asset via HTTP/HTTPS URL. The recommended format for this is MP4. Other formats are available, refer to this article for more information.

Note: Currently the Apple ProRes codec is not supported, but support for this is coming soon.

Note: The maximum size of a file that can be imported is 5GB.

Column: Transcript URL (Field Name: transcriptUrl)

Format: Maximum 1024 characters, must be a valid URL.

Description: This is a direct link to the transcript text via HTTP/HTTPS URL.

Column: Closed Caption SRT URL (Field Name: srt)

Format: Maximum 1024 characters, must be a valid URL.

Description: This is a direct link to the closed caption SRT via HTTP/HTTPS URL. Currently only the SRT file format is supported for import.

Additional SRT files can be specified for additional languages using the following column mappings:

srt (default language) - this is the default language you with to use for closed captions

srt_ar (arabic)

srt_ca (catalan)

srt_cs (czech)

srt_da (danish)

srt_nl (dutch)

srt_en (english)

srt_fi (finnish)

srt_fr (french)

srt_de (german)

srt_el (greek)

srt_he (hebrew)

srt_hi (hindi)

srt_hu (hungarian)

srt_is (icelandic)

srt_id (indonesian)

srt_it (italian)

srt_jp (japanese)

srt_ko (korean)

srt_ms (malay)

srt_pl (polish)

srt_pt (portuguese)

srt_pa (punjabi)

srt_ro (romainian)

srt_sr (serbian)

srt_es (spanish)

srt_sv (swedish)

srt_th (thai)

srt_tr (turkey)

srt_uk (ukrainian)

srt_vi (vietnamese)

 

Products
Column: Products (Field Name: productIds)

Format: Comma separated list, double-quoted empty string

Description: This is a comma separated list of products (referenceId) that are to be matched to the video. The exact list of products that are provided is the exact list that will be matched to the video. This means that products may be added (or removed) based on this list. To clear all matched products, you simply provide an empty double-quoted string like this: ""

Processing a video import feed

When our system processes your video import feed, it will iterate through each line in the file and either INSERT or UPDATE the video as appropriate. This effectively allows you to change the content that you send to Creatable automatically without having to manually update information within the dashboard.

The video feed import process can be coordinated with Creatable to ensure an early pickup and ingestion of the data file on a daily, weekly or monthly basis.

If for any reason, the import process fails, this will be logged in the Job Manager within your Creatable account.

Running jobs on demand

There are two ways to trigger a content ingest job to run on demand:

  1. Navigate to jobs in the Creatable dashboard and tap on "Run" from the action menu for the job you would like to run.
  2. Trigger the job to run via API as follows:
curl -v -X POST 'https://app.creatable.io/v3/api/transcode/scheduler/jobs/1/exec?client_id={AccountID} \

-u API_Username:API_Key \

--data '{"file_url":"{FILE_URL}'

Your API username and key can be obtained while logged into the Creatable dashboard by navigating to Account > Settings and clicking on the "API Configuration" tab.

If you have any questions about anything in this article, please reach out to support@creatable.io