Clips

A core functionality of the Limecraft Flow platform is the management of (audiovisual) media clips, which in their most common form represent video material with its associated audio. An extensive data model was implemented to support the various aspects of managing audiovisual media and their technical and user-defined metadata. This section explains the creation and upload of clips into our platform, the management of metadata associated with clips and how clips in Limecraft Flow can be synchronized with external applications.

The data model surrounding media in Limecraft Flow is very comprehensive to support many use cases, and is documented in deep in its dedicated section.

MediaObject

A clip, as shown in the Limecraft Flow UI library, is internally called a MediaObject. This document will use both terms to mean the same thing. You can learn more about its structure here.

A clip does not need to represent video footage only, it can also be just audio, it can be an image, it is even possible to upload any filetype to Limecraft Flow. In fact, a clip doesn’t even necessarily need to have a file attached to it, it can be a placeholder that represent a non-digital asset if needed.

To learn more about how to create a MediaObject, and upload data to it, see this page.

For more info on the data model behind clips or MediaObjects, please check out this page.

Annotations

Most of the metadata of a MediaObject (or part of a MediaObject) will be stored in Annotations attached to that MediaObject. Learn more about them here.

Custom Fields

Custom Fields can be used to attach custom user-defined metadata properties to Annotations. Learn more about them here.

Start the ingest workflow for a clip

Boolean options can be provided for the call:

  • redo — Check if the ingest workflow has run before and throw an error if such workflow exists and redo is set to false.
    Start the ingest workflow otherwise (defaults to false).

  • redoSingleTask — When set to true, force each task in the ingest workflow not to use previous results and regenerate all transcodes, thumbs, etc…​
    By default, as much of the previous run is recycled. (defaults to false)

  • redoAndTerminateRunning — Stop the running ingest workflow (if one exists) and restart.

POST /production/{prId}/mo/{moId}/service/ingest

This call will start the ingest workflow for a clip.

Details
Description
Parameters
Path Parameters
Name Description Required Type

prId

ID of the production.

Long

moId

ID of the MediaObject.

Long

Query Parameters
Name Description Required Type

force

Boolean

forceRedo

Boolean

Return Type

MediaObjectWorkflowReport

Field Name Required Type Description Format

adminOnly

Boolean

audioAnalyzerCompleted

Date

date-time

created

Date

The time when this resource was created

date-time

createdBy

String

The request or process that created this resource

createdByShareId

Long

int64

createdBySharedUserId

Long

int64

creatorId

Long

The id of the user who created this resource

int64

duration

Double

double

errorReports

List of TaskReport

extra

Object

funnel

String

id

Long

The id of this resource

int64

label

String

User-friendly label of the workflow

lastUpdated

Date

The time when this resource was last updated

date-time

mediaAnalyzerCompleted

Date

date-time

mediaObjectId

Long

int64

modifiedBy

String

The request or process responsible for the last update of this resource

objectType

String

The data model type or class name of this resource

productionId

Long

int64

publishedFiles

List of object

Files generated by the workflow, which can be downloaded.

removeFromQuota

Boolean

requiredRights

List of ProductionPermission

size

Long

int64

startupParameters

Object

status

String

Enum: Inited, Started, Completed, Error, Cancelled, Paused, CompletedPending, ErrorPending, WaitForCallback, Scheduled,

successFul

Boolean

target

String

taskReports

List of TaskReport

transcoder1Completed

Date

date-time

transcoder2Completed

Date

date-time

variables

Object

version

Long

The version of this resource, used for Optimistic Locking

int64

workflowCompleted

Date

When did the workflow complete?

date-time

workflowFailed

Date

When did the workflow fail?

date-time

workflowId

String

The id of the workflow. This can be used to retrieve the workflow status.

workflowStarted

Date

When was the workflow started?

date-time

workflowTask

String

workflowType

String

Enum: INGEST, SPEECH, IPPAMEXPORT, IPPAMSYNC, MOIEXPORT, REMOTE_SPEECH, VOLDEMORT_SPEECH, TRANSCODE, AUDIOANALYZE, EXPORT_VWFLOW, FEATURE_EXTRACTION, BLACK_FRAME, STON_APPROVE, AAF_EXPORT, FCP_EXPORT, VOLDEMORT_SPEECH_2, KALDI_SPEECH, SUBTITLING, MIGRATE, INDEX, BACKUP, VOLDEMORT_SPEECH_3, VOLDEMORT_SPEECH_4, VOLDEMORT_SPEECH_5, TRANSLATION, INDEX_SWITCH, SIMPLEINGEST, CLONE, UPDATE_CATEGORY, WEBHOOK, SETKEEPER_ATTACH, PDF_EXPORT, SHOT_DETECTION, EXPORT, REMOTE_HELLO_WORLD, CUSTOM, UNKNOWN, CHANGE_AUDIO_LAYOUT, WORKSPACE_BOOTSTRAP, MEDIA_TRANSFER_COMPLETE, MEDIA_TRANSFER_FAILED, DELIVERY_REQUEST_SUBMISSION_CLIP_PROBED, DELIVERY_REQUEST_SUBMISSION, ADVANCED_SUBTITLE, TRANSCRIPTION_SUMMARIZE,

Content Type
  • application/json

Responses
Table 1. http response codes
Code Description Datatype

200

The request was successful.

MediaObjectWorkflowReport

403

The user needs LIBRARY_UPLOAD rights.

ForbiddenError

404

The production or media object was not found.

NotFoundError

409

The workflow was already in progress.

AlreadyExistsError

Synchronize

This is explained on this page.