O que a API cobre

A interface espelha o que você faz no painel. Você pode ler detalhes da conta e do armazenamento, solicitar um servidor de upload e enviar um arquivo, importar um vídeo por URL, listar e inspecionar arquivos, movê-los e renomeá-los, criar pastas, buscar vídeos e gerenciar a fila de upload remoto. Alguns extras permitem anexar uma imagem de abertura ou legendas a partir de um endereço remoto.

As requisições são HTTP GET ou POST simples. Sua chave de API vai no parâmetro key e fica nas configurações da conta. Toda resposta é JSON, com uma mensagem, um código de status, a hora do servidor e um resultado. Um status 429 significa que você atingiu o limite de 10 requisições por segundo; fale com o suporte se precisar de mais.

Integrações típicas

Fluxos de publicação que enviam um vídeo renderizado direto de um servidor de build, ferramentas de conteúdo que importam um link de uma planilha, plugins que listam a biblioteca de um criador em um site e scripts de monitoramento que acompanham o status da codificação. Os clientes oficiais em PHP e Python estão listados como em breve, então, por enquanto, chame os endpoints diretamente, como mostrado abaixo.

Grupos de endpoints

Um resumo dos métodos documentados.

Conta

Leia perfil, saldo e armazenamento, obtenha estatísticas de um período e liste avisos de DMCA.

Enviar

Peça um servidor de upload, envie o arquivo como multipart form data e receba códigos e links.

Envio remoto

Adicione uma URL, liste jobs, veja status e vagas e reinicie ou limpe importações com falha.

Pastas

Crie, renomeie e liste pastas e os arquivos dentro delas.

Arquivos

Liste, verifique, inspecione, renomeie, mova e clone arquivos e obtenha suas miniaturas.

Busca

Encontre vídeos por termo de busca e anexe imagens de abertura ou legendas a partir de URLs.

Faça sua primeira chamada

  1. 1Faça login e copie sua chave de API na página de configurações da conta.
  2. 2Chame o endpoint de informações da conta para confirmar que a chave funciona e ver seu armazenamento e saldo.
  3. 3Solicite um servidor de upload pelo endpoint correspondente e anote o endereço retornado.
  4. 4Envie o arquivo a esse endereço como multipart form data. A resposta inclui o código do arquivo, um link de exibição e um link de embed.
  5. 5Consulte o endpoint de verificação de arquivo, ou liste os arquivos, para ver quando o processamento termina.

Exemplos com endpoints reais

curl: dados da conta e upload

A primeira chamada verifica a chave. A segunda envia um arquivo ao endereço de servidor retornado pela chamada de servidor de upload.

curl "https://filehost.net/api/account/info?key=YOUR_API_KEY"

curl "https://filehost.net/api/upload/server?key=YOUR_API_KEY"

curl -X POST -F 'api_key=YOUR_API_KEY' -F '[email protected]' \
  "https://filehost.net/api/upload/server/01?key=YOUR_API_KEY"

PHP: importar um vídeo por URL

Adiciona um job de upload remoto e imprime o código do arquivo. Use urlencode no endereço de origem.

<?php
$key = 'YOUR_API_KEY';
$src = urlencode('https://example.com/video.mp4');
$res = json_decode(file_get_contents(
    "https://filehost.net/api/upload/url?key=$key&url=$src"
), true);
echo $res['result']['filecode'] ?? 'failed';

JavaScript: check a file status

Funciona no Node 18 ou superior e no navegador, desde que você mantenha a chave no lado do servidor.

const key = process.env.FILEHOST_KEY;
const code = 'FILE_CODE';
const r = await fetch(
  `https://filehost.net/api/file/check?key=${key}&file_code=${code}`
);
const data = await r.json();
console.log(data.result[0].status);

Boas práticas

Mantenha a chave fora do código do lado do cliente, pois quem a vir pode agir como sua conta. Respeite o limite de 10 requisições por segundo enfileirando as chamadas e recuando diante de uma resposta 429. Guarde o código de arquivo retornado por um upload, já que todas as outras chamadas referenciam o arquivo por esse código.

Uploads grandes são melhor enviados de um servidor com conexão estável. Para arquivos que já existem online, prefira a importação por URL, que usa a conexão do servidor e retorna imediatamente com um código de job.

Tratamento de erros na prática

Verifique tanto o status HTTP quanto o campo status dentro do corpo JSON e registre o texto da mensagem, que geralmente explica o que deu errado. Trate um código de arquivo ausente ou uma chave expirada como falha definitiva, e uma resposta 429 como sinal para aguardar e tentar de novo. Ao criar jobs em lote, mantenha um registro local de cada código de arquivo retornado, para que um script que travou possa continuar sem enviar nada duas vezes.

O que a API não faz

Não há callback de webhook documentado, então a conclusão é verificada por polling. A resposta de upload documentada traz o código do arquivo e os links, e as bibliotecas cliente oficiais ainda não foram publicadas. Se precisar de um recurso que não existe, avise o suporte pela página de contato.

Como o FileHost.net se compara

Avaliando hosts para uma integração? Compare o que cada um oferece.

Ver todas as comparações

Ferramentas e guias relacionados

Pronto para testar?

Crie uma conta, copie sua chave e execute o primeiro comando curl. Você terá uma integração funcionando na mesma tarde.

Perguntas frequentes

Sim. Toda requisição usa sua chave pessoal, que você pode copiar nas configurações da conta.

Dez requisições por segundo. Ao excedê-lo, a resposta é 429 Too Many Requests.

Sim. Solicite o endereço de um servidor de upload e envie o arquivo a ele como multipart form data.

Sim. O endpoint de upload por URL recebe um link e retorna um código de arquivo, com parâmetros opcionais de pasta e título.

Clientes PHP e Python estão listados como em breve. Por enquanto, chame diretamente os endpoints HTTP.