Videos
O objeto vídeo
| Campo | Tipo | Descrição |
|---|---|---|
| id | string | Identificador único do objeto. |
| project_id | string | |
| folder_id | string | |
| version | number | |
| title | string | |
| description | string | |
| status | enum | Valores possíveis: pending, uploading, pre-processing, processing, aborted, done, error |
| progress | number | Progresso do processamento do vídeo |
| duration | number | Duração do vídeo em segundos |
| assets | []Asset | |
| has_audio | bool | Indica se o vídeo tem áudio. |
| audio_tracks | []AudioTrack | Faixas de áudio disponíveis para download (id, language, label, file_size, filetype, original_name, download_link). Ausente quando o vídeo não tem faixas de áudio. |
| chapters | Chapters | |
| privacy_type | enum | Valores possíveis: anywhere,nowhere, custom |
| privacy_domains | []string | Domínios na lista de permissões |
| poster | Poster | |
| additional_materials | []AdditionalMaterial | |
| additional_materials_enabled | bool | |
| annotation_text_enabled | bool | |
| annotation_video_enabled | bool | |
| created_at | datetime | |
| updated_at | datetime | |
| play_link | string | Link para o player |
| embed_link | string | Link para incorporar o player |
| subtitles | Subtitles | |
| subtitles_enabled | boolean | Exibir/ocultar legendas no player |
| hls_link | string | Link para o manifesto HLS |
Lista de vídeos
{{baseHost}}/v1/videosRetorna a lista de vídeos. Os resultados são paginados e podem ser filtrados por parâmetros de consulta.
{ "meta": { "pagination": { "page": 1, "per_page": 1, "total": 10 }, "order": { "created_at": "desc", "title": "asc" } }, "data": [ { "id": "vKSxQyZScoQfP29oothREi", "project_id": "mNFQz2wYTBhLkPBCo9oS8m", "folder_id": null, "version": 0, "title": "sample_video", "description": "", "status": "uploading", "progress": 100, "duration": 0, "assets": [], "chapters": { "items": [], "enabled": false, "show_on_load": false }, "privacy_type": "anywhere", "privacy_domains": [], "poster": null, "additional_materials": null, "additional_materials_enabled": false, "play_link": "https://kinescope.io/199511994", "embed_link": "https://kinescope.io/embed/199511994", "created_at": "2020-08-31T09:03:00.106436Z", "updated_at": null, "subtitles": [], "subtitles_enabled": false, "hls_link": "https://kinescope.io/199511994/master.m3u8" } ]}Obter vídeo
{{baseHost}}/v1/videos/:video_idRetorna os dados de um vídeo pelo seu identificador único.
{ "data": { "id": "<UUID>", "project_id": "<UUID>", "folder_id": null, "player_id": "<UUID>", "version": 1, "title": " Encrypted, saved (2024.09.08 13:35)", "subtitle": "", "description": "", "status": "done", "progress": 0, "duration": 66.00001, "assets": [ { "id": "<UUID>", "video_id": "<UUID>", "original_name": "original.ts", "file_size": 4862244, "md5": "a05d6c66884dc7f8c5136b6c9d95fef7", "filetype": "ts", "quality": "original", "resolution": "1920x1080", "created_at": "2024-09-08T10:35:17.087638Z", "url": "https://kinescopecdn.net/<UUID>/videos/<UUID>/assets/<UUID>/original.mp4?expires=<EXPIRES>&sign=<SIGNATURE>", "download_link": "https://s3.kinescope.io/<UUID>/videos/<UUID>/mp4/original.ts?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=<CREDENTIAL>" }, { "id": "<UUID>", "video_id": "<UUID>", "original_name": "1080p.mp4", "file_size": 4292636, "filetype": "mp4", "quality": "1080p", "resolution": "1920x1080", "created_at": "2024-09-08T10:35:30.549646Z", "download_link": "" }, { "id": "<UUID>", "video_id": "<UUID>", "original_name": "720p.mp4", "file_size": 3217594, "filetype": "mp4", "quality": "720p", "resolution": "1280x720", "created_at": "2024-09-08T10:35:30.549646Z", "download_link": "" }, { "id": "<UUID>", "video_id": "<UUID>", "original_name": "480p.mp4", "file_size": 2031032, "filetype": "mp4", "quality": "480p", "resolution": "852x480", "created_at": "2024-09-08T10:35:30.549646Z", "download_link": "" }, { "id": "<UUID>", "video_id": "<UUID>", "original_name": "360p.mp4", "file_size": 1451443, "filetype": "mp4", "quality": "360p", "resolution": "640x360", "created_at": "2024-09-08T10:35:30.549646Z", "download_link": "" } ], "has_audio": true, "audio_tracks": [ { "id": "<UUID>", "language": "en", "label": "English", "file_size": 4292636, "filetype": "mp4", "original_name": "audio_en.mp4", "download_link": "https://s3.kinescope.io/<UUID>/videos/<UUID>/audio/<UUID>.mp4?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=<CREDENTIAL>" }, { "id": "<UUID>", "language": "ru", "label": "Русский", "file_size": 4185220, "filetype": "mp4", "original_name": "audio_ru.mp4", "download_link": "https://s3.kinescope.io/<UUID>/videos/<UUID>/audio/<UUID>.mp4?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=<CREDENTIAL>" } ], "chapters": { "items": [], "enabled": false }, "privacy_type": "anywhere", "privacy_domains": [], "privacy_email_domains": [], "privacy_share": {}, "tags": [], "poster": { "id": "<UUID>", "type": "image", "media_id": "<UUID>", "status": "done", "active": true, "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", "from_time": 0, "to_time": 0 }, "additional_materials": [], "additional_materials_enabled": false, "annotation_text_enabled": false, "annotation_video_enabled": false, "play_link": "https://kinescope.io/vN1xLXadcCk94aCuZHR5i2", "embed_link": "https://kinescope.io/embed/vN1xLXadcCk94aCuZHR5i2", "created_at": "2024-09-08T10:35:11.674333Z", "updated_at": "2026-03-05T14:04:37.150678Z", "subtitles": [], "subtitles_enabled": false, "hls_link": "https://kinescope.io/vN1xLXadcCk94aCuZHR5i2/master.m3u8", "chat_preview": false, "chat_inside_player": "", "chat_expand_on_load": false, "meta": { "event_id": "<UUID>", "stream_id": "<UUID>" } }}{ "error": { "code": 400404, "message": "not found" }}Atualizar vídeo
{{baseHost}}/v1/videos/:video_idAtualiza o vídeo indicado. Só os campos enviados no corpo da requisição são alterados; os demais ficam como estão.
Esta requisição atualiza somente os campos enviados.
Campos que podem ser atualizados: title, description, privacy_type, privacy_domains, additional_materials_enabled
{ "title": "New title", "description": "New description", "privacy_type": "custom", "privacy_domains": [ "my_domain.io" ], "additional_materials_enabled": false, "tags": [ "tag 1", "tag 2", "tag 3" ]}{ "data": { "id": "iuFPEzdC2Jtf8aCcvMJQ8h", "workspace_id": "s8vL2Zr3CxCj1A8HmxoGhp", "project_id": "hfHfAgq4g2nxxtg8DQ3Twi", "folder_id": null, "storage_id": "mucjva43n3sLsw5YRwsZYS", "short_id": 199511990, "version": 0, "title": "New title", "description": "New description", "status": "done", "progress": 0, "duration": 179.305, "assets": [ { "id": "i7r58w3Lt3bPoPyX27tprT", "video_id": "iuFPEzdC2Jtf8aCcvMJQ8h", "original_name": "original.mp4", "file_size": 5603249, "filetype": "QuickTime / MOV", "quality": "original", "resolution": "320x240", "created_at": "2020-08-30T16:10:08.091561Z", "updated_at": null, "deleted_at": null }, { "id": "kdwSHkB2e1AH8veDLuCnUP", "video_id": "iuFPEzdC2Jtf8aCcvMJQ8h", "original_name": "360p.mp4", "file_size": 4196287, "filetype": "QuickTime / MOV", "quality": "360p", "resolution": "320x240", "created_at": "2020-08-30T16:10:14.087606Z", "updated_at": null, "deleted_at": null } ], "chapters": { "items": [], "enabled": false, "show_on_load": false }, "privacy_type": "nowhere", "privacy_domains": [ "my_domain.io" ], "poster": { "id": "eHqAqKuMi4JTsAoMvf5GRs", "video_id": "iuFPEzdC2Jtf8aCcvMJQ8h", "storage_id": "mucjva43n3sLsw5YRwsZYS" }, "additional_materials": [], "additional_materials_enabled": false, "created_at": "2020-08-30T16:10:05.702154Z", "updated_at": null, "deleted_at": null }}Excluir vídeo
{{baseHost}}/v1/videos/:video_idExclui o vídeo permanentemente. A ação não pode ser desfeita.
{ "data": { "success": true }}Mover vídeo para outro projeto e pasta
{{baseHost}}/v1/videos/:video_id/moveMove o vídeo para outro projeto e/ou outra pasta. O ID do vídeo não muda.
{ "project_id": "3kAyiWTAZQKKZxg1GfjKvS", "folder_id": "2MxB8wx35jHQjhCPczBamu"}Atualizar capítulos
{{baseHost}}/v1/videos/:video_id/chaptersSubstitui os marcadores de capítulo do vídeo pela lista enviada. Envie um array vazio para remover todos os capítulos.
{ "items": [ { "time": 10000, "title": "Chapter at 10sec" } ], "enabled": true}{ "data": { "items": [ { "time": 10000, "title": "Chapter at 10sec" } ], "enabled": true }}Concatenar vídeo
{{baseHost}}/v1/videos/:video_id/concatJunta o vídeo de origem com um ou mais vídeos em um novo vídeo. O vídeo original fica intacto, e o conteúdo combinado vai para um vídeo novo.
{ "prepend": [ { "video_id": "<UUID>" } ], "append": [ { "video_id": "<UUID>" } ], "replace": false}Copiar vídeo
{{baseHost}}/v1/videos/:video_id/copyCria uma cópia completa do vídeo e, se você quiser, coloca a cópia em outro projeto ou pasta.
{ "parent_id": "<UUID>"}Cortar vídeo
{{baseHost}}/v1/videos/:video_id/cutCorta o vídeo para o intervalo de tempo indicado. O resultado é gravado no mesmo ID de vídeo; os bytes originais são substituídos.
Cria um vídeo com corte de tempo ou de quadro.
| Campo | Tipo | Descrição |
|---|---|---|
| project_id | string | não obrigatório |
| folder_id | string | não obrigatório |
| title | string | não obrigatório |
| description | string | não obrigatório |
| crop | crop_object | w,h — largura, altura |
| x,y — canto superior esquerdo | ||
| trim | []trim_object | start — hora de início |
| length — duração do vídeo |
{ "crop": { "w": 300, "h": 200, "x": 100, "y": 80, "quality": "360p" }, "trim": [ { "start": 6, "length": 2 }, { "start": 1, "length": 2 } ]}Videos
Enviar vídeo
Envia um novo vídeo. O envio é multipart; quando ele termina, o servidor devolve o objeto do vídeo.
Veja o guia:
https://kinescope.notion.site/abe1183fe61b4e00a4f8c358bd27413d
| Parâmetro | Descrição |
|---|---|
X-Parent-ID | `` |
X-Video-Title | Novo vídeo |
X-Video-Description | Descrição do vídeo |
X-File-Name | video.mp4 |
X-Poster-URL | url do pôster |
X-Video-URL | http://example.ru/video.mp4 |
X-Replace-Video-ID | VideoID para substituir |