/** * This file was auto-generated by Fern from our API Definition. */ import { Scale } from "../../../.."; export interface VideoPlaybackAnnotationRequest { /** The name of the [project](/reference/project-overview) to associate this task with. */ project?: string; /** The name of the [batch](/reference/batch-overview) to associate this task with. Note that if a batch is specified, you need not specify the project, as the task will automatically be associated with the batch's project. For Scale Rapid projects specifying a batch is required. See [Batches section](/reference/batch-overview) for more details. */ batch?: string; /** A markdown-enabled string or iframe embed google doc explaining how to do the task. You can use [markdown](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet) to show example images, give structure to your instructions, and more. See our [instruction best practices](https://scale.com/docs/instructions) for more details. For Scale Rapid projects, DO NOT set this field unless you specifically want to override the project level instructions. */ instruction?: string; /** The full url (including the scheme `http://` or `https://`) or email address of the [callback](/reference/callbacks) that will be used when the task is completed. */ callbackUrl?: string; /** An array of URLs for the frames you'd like to be annotated. These image frames are stitched together to create a video. This is required if `attachment_type` is `image` and must be omitted if `attachment_type` is `video`. */ attachments?: string[]; /** A URL pointing to the video file attachment. Only the `mp4`, `webm`, and `ogg` formats are supported. */ attachment?: string; /** Describes what type of file the attachment(s) are. The only options are `image` and `video`. */ attachmentType?: string; /** An object mapping `box`, `polygon`, `line`, `point`, `cuboid`, or `ellipse` to Geometry objects */ geometries: Scale.Geometries; /** See the [Annotation Attributes](/reference/attributes-overview) section for more details about annotation attributes. */ annotationAttributes?: Record; /** The list of events to annotate */ eventsToAnnotate?: string[]; /** Use this field to define links between annotations. See [Links](/reference/links) for more details about links. */ links?: Record; /** The number of frames per second to annotate. */ frameRate?: number; /** The amount of padding in pixels added to the top, bottom, left, and right of each video frame. This allows labelers to extend annotations outside of the frames. */ padding?: number; /** The amount of padding in pixels added to the left and right of each video frame. Overrides `padding` if set. */ paddingX?: number; /** The amount of padding in pixels added to the top and bottom of each video frame. Overrides `padding` if set. */ paddingY?: number; /** Editable annotations that a task should be initialized with. This is useful when you've run a model to prelabel the task and want annotators to refine those prelabels. Review the [Segmentation Hypothesis Format](/reference/image-segmentation-hypothesis) for more details. */ hypothesis?: Record; /** Editable annotations, with the option to be "locked", that a task should be initialized with. This is useful when you've run a model to prelabel the task and want annotators to refine those prelabels. Must contain the `annotations` field, which has the same format as the `annotations` field in the response. */ baseAnnotations?: Record; /** Whether or not new annotations can be added to the task if base_annotations are used. If set to true, new annotations can be added to the task in addition to base_annotations. If set to false, new annotations will not be able to be added to the task. */ canAddBaseAnnotations?: boolean; /** Whether or not base_annotations can be edited in the task. If set to true, base_annotations can be edited by the tasker (position of annotation, attributes, etc). If set to false, all aspects of base_annotations will be locked. */ canEditBaseAnnotations?: boolean; /** Whether or not base_annotations labels can be edited in the task. If set to true, the label of base_annotations can be edited by the tasker. If set to false, the label will be locked. */ canEditBaseAnnotationLabels?: boolean; /** Whether or not base_annotations can be removed from the task. If set to true, base_annotations can be deleted from the task. If set to false, base_annotations cannot be deleted from the task. */ canDeleteBaseAnnotations?: boolean; /** A set of key/value pairs that you can attach to a task object. It can be useful for storing additional information about the task in a structured format. Max 10KB. */ metadata?: Record; /** A value of 10, 20, or 30 that defines the priority of a task within a project. The higher the number, the higher the priority. */ priority?: number; /** A arbitrary ID that you can assign to a task and then query for later. This ID must be unique across all projects under your account, otherwise the task submission will be rejected. See [Avoiding Duplicate Tasks](/reference/idempotent-requests) for more details. */ uniqueId?: string; /** If set to be true, if a task errors out after being submitted, the unique id on the task will be unset. This param allows workflows where you can re-submit the same unique id to recover from errors automatically */ clearUniqueIdOnError?: boolean; /** Arbitrary labels that you can assign to a task. At most 5 tags are allowed per task. You can query tasks with specific tags through the task retrieval API. */ tags?: string[]; }