Links de mídia
Links de mídia
O Frame.io armazena e processa arquivos enviados para seus projetos — imagens, vídeos, PDFs e muito mais. Ao recuperar um arquivo via API, a resposta base inclui metadados principais como nome do arquivo, status e um view_url para abri-lo no aplicativo Frame.io. Para acessar o conteúdo real do arquivo — o original, uma visualização ou diferentes renderizações de qualidade — você usa includes. Este guia explica os includes de link de mídia disponíveis nos pontos de acesso List Files e Get File, o que cada um retorna e quando usar cada um.
O que são includes?
Includes são campos opcionais que você pode solicitar junto com uma resposta de arquivo. Por padrão, a API retorna apenas metadados principais do arquivo — nome, status, tipo, carimbos de data e hora e view_url. Os includes permitem optar por dados adicionais, mantendo as respostas leves quando você não precisa de tudo.
Como adicionar includes
Passe uma lista separada por vírgulas de nomes de include como o parâmetro de consulta include em qualquer solicitação Get File ou List Files:
Os includes funcionam da mesma forma nos pontos de acesso de arquivo único e de lista. Quando usados em List Files, os includes são resolvidos para todos os arquivos na resposta.
Exemplos de SDK
Includes que não são solicitados são omitidos completamente da resposta.
Visão geral dos includes de link de mídia
O arquivo original carregado, exatamente como foi carregado
Uma imagem de visualização PNG para fins de exibição
A melhor representação processada disponível
A menor representação disponível para casos de uso com pouca largura de banda
Uma transcodificação de vídeo H264 180p de baixa resolução para streaming e reprodução
Uma folha de sprite WebP de miniaturas de quadros de vídeo para criar interface de busca
media_links.original
Retorna URLs assinadas que apontam para o arquivo original exatamente como foi feito upload — sem processamento, sem conversão.
Campos
Quando usar
Use media_links.original quando precisar do arquivo de origem — por exemplo, para permitir que um usuário baixe o MOV, MP4, MXF, AVI, PSD, PNG ou TIFF original, ou para passar os bytes originais para outro sistema.
Exemplo de solicitação
Exemplo de resposta
Essas URLs são URLs S3 assinadas temporárias — elas expiram. Não armazene essas URLs em cache nem salve-as; solicite uma nova URL sempre que precisar.
media_links.thumbnail
Retorna uma imagem de visualização PNG do ativo, limitada a 540 px de altura. Esta é uma representação processada, não o arquivo original, e marcas-d’água podem ser aplicadas dependendo das configurações da sua conta.
Campos
Quando usar
Use media_links.thumbnail quando precisar exibir uma visualização visual do ativo. Por exemplo, em uma visualização em grade, uma galeria ou um seletor de arquivos. Ela carrega mais rápido do que o original e sempre está em um formato PNG seguro para a Web.
Exemplo de solicitação
Exemplo de resposta
media_links.high_quality
Retorna uma URL de download para a melhor renderização processada disponível do ativo. O Frame.io processa uploads por meio de uma escala de resolução que chega a até 2160p. A API retorna a renderização mais alta disponível no momento da solicitação. Portanto, se apenas uma representação 540p tiver terminado de ser processada quando você fizer a solicitação, a API retornará 540p até que as representações superiores estejam prontas.
Campos
Quando usar
Use media_links.high_quality quando quiser a versão de melhor qualidade sem precisar do original. Por exemplo, para exportar uma representação em alta resolução para processamento posterior ou apresentar uma visualização em resolução total. Se precisar da mais alta qualidade possível, verifique o campo status do arquivo e solicite essa inclusão quando o arquivo estiver pronto para garantir que a escala de resolução completa foi processada.
Exemplo de solicitação
Exemplo de resposta
media_links.efficient
Retorna uma URL de download para a menor renderização processada disponível. Este é o oposto de high_quality. O Frame.io escolhe a renderização de menor resolução disponível.
Campos
Quando usar
Use media_links.efficient quando largura de banda ou tamanho do arquivo importam mais que qualidade. Por exemplo, ao gerar visualizações rápidas em um ambiente com baixa largura de banda ou alimentar um pipeline de miniaturas que não precisa de resolução total.
Exemplo de solicitação
Exemplo de resposta
media_links.video_h264_180
Retorna URLs de streaming e download para uma transcodificação de vídeo H264 em baixa resolução, 180p, do ativo.
Este é um include legado. Ele será null se uma transcodificação 180p não tiver sido gerada para o ativo. Para a maioria dos casos de uso, prefira media_links.efficient, que seleciona a melhor representação de baixa qualidade disponível em vez de depender da existência de uma transcodificação específica.
Campos
Quando usar
Use media_links.video_h264_180 quando precisar especificamente de uma transcodificação H264 180p garantida. Por exemplo, ao integrar com um player legado ou um pipeline que exija exatamente esse formato. Se a transcodificação não existir para determinado ativo, ambas as URLs serão null.
Não há áudio incluído no arquivo video_h264_180. Ele foi projetado para ser usado em visualizações muito eficientes quando necessário.
Exemplo de solicitação
Exemplo de resposta
media_links.scrub_sheet
Retorna uma folha de sprites WebP, uma única imagem contendo uma grade de miniaturas de quadros de vídeo amostrados uniformemente ao longo da duração do vídeo. Isso é usado para criar uma interface de scrubbing de vídeo, em que o player mostra um quadro de visualização conforme o usuário arrasta pela linha do tempo.
Planilhas de scrub são geradas apenas para ativos de vídeo. O include retornará URLs null para imagens, PDF e outros arquivos que não sejam vídeos.
Campos
Quando usar
Use media_links.scrub_sheet ao criar um player de vídeo personalizado ou uma interface de linha do tempo que precise mostrar uma miniatura de visualização conforme o usuário faz scrubbing. Em vez de fazer uma solicitação separada para cada quadro, a folha de sprites agrupa todos os quadros de visualização em um único download de imagem.
Exemplo de solicitação
Exemplo de resposta
Como extrair um quadro da folha de sprites
A folha de sprites é uma grade de tile_x colunas × tile_y linhas. Para exibir a miniatura de determinado índice de quadro (base zero), calcule sua posição dentro da imagem:
Em seguida, você pode usar CSS background-position para mostrar o bloco correto da folha de sprites:
Para mapear uma posição de reprodução (em segundos) para um índice de quadro, use a duração total do vídeo e o número de quadros na folha:
O campo metadata está disponível apenas na versão experimental da API. Na API v4 estável, scrub_sheet retorna apenas download_url e url.
Como combinar vários includes
Você pode solicitar vários includes em uma única chamada de API:
Como escolher o include certo
view_url — disponível em todas as respostas de arquivo sem precisar de um include. É um deep link permanente para o aplicativo Web do Frame.io. Não é uma URL de mídia; ela abre a interface do Frame.io e não expira. Use-a quando quiser direcionar um usuário para revisar ou comentar em um ativo diretamente no Frame.io, não quando precisar servir ou baixar o arquivo programaticamente.
Disponibilidade de includes
Os includes de links de mídia só são preenchidos depois que o Frame.io conclui o processamento do arquivo enviado. Se você solicitar um include imediatamente após o upload, as URLs poderão ser null enquanto a transcodificação estiver em andamento. Verifique o campo de status no objeto de arquivo. Os includes estarão disponíveis quando o status for ready.