Posters
Lista de pôsteres
{{baseHost}}/v1/videos/:video_id/postersRetorna a lista de pôsteres. Os resultados são paginados e podem ser filtrados por parâmetros de consulta.
{ "meta": { "pagination": { "page": 1, "per_page": 10, "total": 1 }, "order": { "created_at": "desc" } }, "data": [ { "id": "<UUID>", "type": "image", "from_time": 0, "status": "done", "active": true, "to_time": 0, "original": "https://kinescopecdn.net/<UUID>/posters/<UUID>/<UUID>.jpg", "md": "https://kinescopecdn.net/<UUID>/posters/<UUID>/md/<UUID>.jpg", "sm": "https://kinescopecdn.net/<UUID>/posters/<UUID>/sm/<UUID>.jpg", "xs": "https://kinescopecdn.net/<UUID>/posters/<UUID>/xs/<UUID>.jpg" } ]}Criar pôster por tempo
{{baseHost}}/v1/videos/:video_id/postersGera uma imagem de pôster a partir de um quadro do vídeo no tempo indicado. O pôster é anexado ao vídeo e pode ser marcado como ativo.
{ "from_time": 2.3333}Obter pôster
{{baseHost}}/v1/videos/:video_id/posters/:poster_idRetorna os dados de um pôster pelo seu identificador único.
{ "data": { "id": "<UUID>", "type": "image", "from_time": 0, "status": "done", "active": true, "to_time": 0, "original": "https://kinescopecdn.net/<UUID>/posters/<UUID>/<UUID>.jpg", "md": "https://kinescopecdn.net/<UUID>/posters/<UUID>/md/<UUID>.jpg", "sm": "https://kinescopecdn.net/<UUID>/posters/<UUID>/sm/<UUID>.jpg", "xs": "https://kinescopecdn.net/<UUID>/posters/<UUID>/xs/<UUID>.jpg" }}{ "error": { "code": 400404, "message": "not found" }}Definir pôster ativo
{{baseHost}}/v1/videos/:video_id/posters/:poster_id/activeMarca o pôster indicado como ativo — ele será exibido no player e nas listagens.
Excluir pôster
{{baseHost}}/v1/videos/:video_id/posters/:poster_idExclui o pôster permanentemente. A ação não pode ser desfeita.
Subtitles
Listar legendas
{{baseHost}}/v1/videos/:video_id/subtitlesRetorna a lista de legendas. Os resultados são paginados e podem ser filtrados por parâmetros de consulta.
| Parâmetro | Tipo | Descrição |
|---|---|---|
language | text | Exemplo: ru |
description | text | Exemplo: descrição do arquivo de legendas |
file | file | — |
{ "data": null}Adicionar arquivo de legendas
{{baseHost}}/v1/videos/:video_id/subtitlesEnvia um arquivo de legendas (VTT ou SRT) e o anexa ao vídeo no idioma indicado.
| Parâmetro | Tipo | Descrição |
|---|---|---|
language | text | Exemplo: ru |
description | text | Exemplo: descrição do arquivo de legendas |
file | file | — |
{ "data": { "id": "<UUID>", "video_id": "<UUID>", "description": "descrição do arquivo de legendas", "language": "ru", "file": "", "file_name": "<UUID>.vtt", "hls_file": "", "url": "https://kinescopecdn.net/<UUID>/subtitles/<UUID>/<UUID>?expires=<EXPIRES>&sign=<SIGNATURE>" }}Gerar legendas automaticamente
{{baseHost}}/v1/videos/:video_id/subtitles/autoColoca na fila o reconhecimento de fala do vídeo e cria uma faixa de legendas por idioma solicitado. Envie os idiomas como códigos ISO 639-1 em languages; um código desconhecido é recusado com 400, e ou todas as faixas são criadas, ou nenhuma.
A resposta volta na hora, antes de o reconhecimento começar, então cada faixa vem com status: "pending", um objeto data vazio e url vazia. Consulte GET /v1/videos/:video_id/subtitles/:subtitle_id até que status fique done — é nesse momento que aparecem as falas reconhecidas e a URL do .vtt.
| Parâmetro | Tipo | Descrição |
|---|---|---|
languages | array of string | Idiomas a reconhecer, como códigos ISO 639-1. Uma faixa de legendas é criada por elemento. Exemplo: ["ru", "en"] |
{ "languages": [ "ru", "en" ]}{ "data": [ { "id": "<UUID>", "video_id": "<UUID>", "description": "", "language": "ru", "status": "pending", "position": 1, "data": {}, "active": true, "url": "", "updated_at": "2024-03-04T11:54:32.451502Z", "file": "", "file_name": "<UUID>.vtt", "hls_file": "" } ]}Reordenar
{{baseHost}}/v1/videos/:video_id/subtitles/reorderAltera a ordem das faixas de legendas. Envie a lista completa de IDs de legendas na ordem desejada.
[ "<UUID>", "<UUID>", "<UUID>", "<UUID>"]{ "data": { "id": "<UUID>", "video_id": "<UUID>", "description": "descrição do arquivo de legendas", "language": "ru", "file": "", "file_name": "<UUID>.vtt", "hls_file": "", "url": "https://kinescopecdn.net/<UUID>/subtitles/<UUID>/<UUID>?expires=<EXPIRES>&sign=<SIGNATURE>" }}Obter legenda
{{baseHost}}/v1/videos/:video_id/subtitles/:subtitle_idRetorna os dados de uma legenda pelo seu identificador único.
| Parâmetro | Tipo | Descrição |
|---|---|---|
language | text | Exemplo: ru |
description | text | Exemplo: descrição do arquivo de legendas |
file | file | — |
{ "data": { "id": "<UUID>", "video_id": "<UUID>", "description": "descrição do arquivo de legendas", "language": "ru", "file": "", "file_name": "<UUID>.vtt", "hls_file": "", "url": "https://kinescopecdn.net/<UUID>/subtitles/<UUID>/<UUID>?expires=<EXPIRES>&sign=<SIGNATURE>" }}Atualizar dados da legenda
{{baseHost}}/v1/videos/:video_id/subtitles/:subtitle_idAtualiza os metadados de uma faixa de legendas (idioma, descrição, ordem).
{ "language": "ru", "description": "desc111"}{ "data": { "id": "<UUID>", "video_id": "<UUID>", "description": "desc", "language": "ru", "file": "", "file_name": null, "hls_file": "", "url": "https://kinescopecdn.net/<UUID>/subtitles/<UUID>/<UUID>?expires=<EXPIRES>&sign=<SIGNATURE>" }}Copiar
{{baseHost}}/v1/videos/:video_id/subtitles/:subtitle_id/copyDuplica uma faixa de legendas. Útil para criar uma variante a partir de uma tradução existente.
{ "data": { "id": "<UUID>", "video_id": "<UUID>", "description": "desc", "language": "ru", "file": "", "file_name": null, "hls_file": "", "url": "https://kinescopecdn.net/<UUID>/subtitles/<UUID>/<UUID>?expires=<EXPIRES>&sign=<SIGNATURE>" }}Excluir legenda
{{baseHost}}/v1/videos/:video_id/subtitles/:subtitle_idExclui a legenda permanentemente. A ação não pode ser desfeita.
{ "data": { "success": true }}Annotations
Obter anotação
{{baseHost}}/v1/videos/:video_id/annotations/:annotation_idRetorna os dados de uma anotação pelo seu identificador único.
{ "data": { "id": "<UUID>", "media_id": "<UUID>", "video_id": null, "annotation_type": "text", "title": "ann1", "link": "", "start_time": 0, "end_time": 6740, "annotation_poster_id": "<UUID>", "created_at": "2024-02-27T10:04:30.259938Z", "updated_at": null }}Listar anotações
{{baseHost}}/v1/videos/:video_id/annotationsRetorna a lista de anotações. Os resultados são paginados e podem ser filtrados por parâmetros de consulta.
{ "data": []}Adicionar anotação
{{baseHost}}/v1/videos/:video_id/annotationsCria uma anotação. Em caso de sucesso, retorna o objeto criado.
{ "video_id": "<UUID>", "annotation_poster_id": "<UUID>", "type": "video/text", "title": "new annotation", "link": "https://example.com", "start_time": 0, "end_time": 10000}{ "data": { "id": "<UUID>", "media_id": "<UUID>", "video_id": "<UUID>", "annotation_type": "video", "title": "annotation 1", "link": "", "start_time": 20000, "end_time": 21000, "annotation_poster_id": null, "created_at": "2024-03-04T11:54:32.451502Z", "updated_at": null }}Atualizar anotação
{{baseHost}}/v1/videos/:video_id/annotations/:annotation_idAtualiza a anotação indicada. Só os campos enviados no corpo da requisição são alterados; os demais ficam como estão.
{ "video_id": "<UUID>", "annotation_poster_id": "<UUID>", "title": "new annotation", "link": "https://example.com", "start_time": 0, "end_time": 10000}{ "data": { "id": "<UUID>", "media_id": "<UUID>", "video_id": "<UUID>", "annotation_type": "video", "title": "annotation 1", "link": "", "start_time": 20000, "end_time": 21000, "annotation_poster_id": null, "created_at": "2024-03-04T11:54:32.451502Z", "updated_at": null }}Excluir anotação
{{baseHost}}/v1/videos/:video_id/annotations/:annotation_idExclui a anotação permanentemente. A ação não pode ser desfeita.
{ "data": { "success": true }}Additional materials
Enviar material adicional
{{uploadHost}}/additional-materialEnvia um arquivo para anexar a um vídeo como material adicional (por exemplo, um PDF de apoio ou arquivos de origem).
| Parâmetro | Descrição |
|---|---|
X-Video-ID | 4iUMUmb63dLAvnbsMRkSUX |
X-File-Name | material.png |
X-Title | Título do material |
Obter link de download
{{baseHost}}/v1/additional-materials/:material_id/linkRetorna uma URL assinada de curta duração para baixar o material.
{ "data": { "link": "https://..." }}Atualizar material adicional
{{baseHost}}/v1/additional-materials/:material_idAtualiza o material adicional indicado. Só os campos enviados no corpo da requisição são alterados; os demais ficam como estão.
{ "title": "New title"}{ "data": { "id": "8VYZT2rW5vbvRBcWruuNFo", "video_id": "fq48rAScQ5zAYKJ2gYHZ3w", "storage_id": "mucjva43n3sLsw5YRwsZYS", "title": "New title", "filename": "img.png", "filetype": "image/png", "size": 163427, "position": 1, "created_at": "2020-08-30T15:14:03.792708Z", "updated_at": "2020-08-31T10:22:43.67869Z", "deleted_at": null }}Reordenar materiais adicionais
{{baseHost}}/v1/additional-materials/reorderAltera a ordem de exibição dos materiais adicionais anexados a um vídeo.
[ "8VYZT2rW5vbvRBcWruuNFo", "b32Wjbh6a3pYNaKvfxhXFU"]{ "data": { "success": true }}Excluir material adicional
{{baseHost}}/v1/additional-materials/:material_idExclui o material adicional permanentemente. A ação não pode ser desfeita.
{ "data": { "success": true }}Posters
Enviar pôster
{{uploadHost}}/v2/posterEnvia uma imagem de pôster personalizada para um evento ao vivo.
| Parâmetro | Descrição |
|---|---|
X-Video-ID | 4iUMUmb63dLAvnbsMRkSUX |
X-Poster-URL | url do pôster |