{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "#/components/schemas/TimelineSkillCard", "title": "Timeline Skill Card", "type": "object", "x-box-resource-id": "timeline_skill_card", "x-box-tag": "skills", "description": "A Box Skill metadata card that places a list of images on a\ntimeline.", "required": [ "type", "skill_card_type", "skill", "invocation", "entries" ], "properties": { "created_at": { "type": "string", "format": "date-time", "example": "2018-04-13T13:53:23-07:00", "description": "The optional date and time this card was created at." }, "type": { "type": "string", "description": "`skill_card`", "example": "skill_card", "enum": [ "skill_card" ] }, "skill_card_type": { "type": "string", "description": "`timeline`", "example": "timeline", "enum": [ "timeline" ] }, "skill_card_title": { "type": "object", "description": "The title of the card.", "required": [ "message" ], "properties": { "code": { "type": "string", "example": "Faces", "description": "An optional identifier for the title." }, "message": { "type": "string", "example": "Faces", "description": "The actual title to show in the UI." } } }, "skill": { "type": "object", "description": "The service that applied this metadata.", "required": [ "type", "id" ], "properties": { "type": { "type": "string", "example": "service", "description": "`service`", "enum": [ "service" ] }, "id": { "type": "string", "example": "image-recognition-service", "description": "A custom identifier that represent the service that\napplied this metadata." } } }, "invocation": { "type": "object", "description": "The invocation of this service, used to track\nwhich instance of a service applied the metadata.", "required": [ "type", "id" ], "properties": { "type": { "type": "string", "example": "skill_invocation", "description": "`skill_invocation`", "enum": [ "skill_invocation" ] }, "id": { "type": "string", "example": "image-recognition-service-123", "description": "A custom identifier that represent the instance of\nthe service that applied this metadata. For example,\nif your `image-recognition-service` runs on multiple\nnodes, this field can be used to identify the ID of\nthe node that was used to apply the metadata." } } }, "duration": { "type": "integer", "example": 1000, "description": "An total duration in seconds of the timeline." }, "entries": { "type": "array", "description": "A list of entries on the timeline.", "items": { "type": "object", "description": "An single item that's placed on multiple items on the timeline.", "properties": { "text": { "type": "string", "example": "John", "description": "The text of the entry. This would be the display\nname for an item being placed on the timeline, for example the name\nof the person who was detected in a video." }, "appears": { "type": "array", "description": "Defines a list of timestamps for when this item should appear on the\ntimeline.", "required": [ "start", "end" ], "items": { "type": "object", "description": "The timestamp for an entry.", "properties": { "start": { "type": "integer", "example": 1, "description": "The time in seconds when an\nentry should start appearing on a timeline." }, "end": { "type": "integer", "example": 20, "description": "The time in seconds when an\nentry should stop appearing on a timeline." } } } }, "image_url": { "type": "string", "description": "The image to show on a for an entry that appears\non a timeline. This image URL is required for every entry.\n\nThe image will be shown in a\nlist of items (for example faces), and clicking\nthe image will show the user where that entry\nappears during the duration of this entry.", "example": "https://example.com/image1.jpg" } } } } } }