API e uso
URL base:
https://video.renderingvideo.com
Fluxo público:
- Use
POST /api/previewpara criar um preview - Use
/t/:idou/preview/:idcomo link de reprodução - Links de preview expiram em 7 dias
- Não dependa de rotas internas não documentadas
1. API de link temporário
Endpoints externos:
POST /api/previewGET /api/temp/:idGET /t/:idGET /preview/:idGET /
Comportamento do link temporário:
- Os dados de preview são armazenados em KV
- A expiração padrão é de 7 dias
- A página de preview retornada pode ser compartilhada diretamente com usuários externos
2. POST /api/preview
Finalidade:
- Enviar um esquema para preview
- Executar a validação da estrutura de nível superior
- Gerar um link temporário de preview
Cabeçalhos da requisição
Content-Type: application/jsonCorpo da requisição
Envie o JSON completo do esquema diretamente como corpo da requisição.
Exemplo mínimo:
{
"meta": {
"version": "2.0.0",
"width": 1920,
"height": 1080,
"fps": 30
},
"tracks": [
{
"clips": [
{
"type": "text",
"start": 0,
"duration": 3,
"text": "Temporary Preview"
}
]
}
]
}Resposta de sucesso
{
"success": true,
"tempId": "uuid",
"url": "/t/uuid",
"viewerUrl": "/preview/uuid",
"expiresIn": "604800 seconds (7 days)"
}Campos da resposta:
url: página limpa do playerviewerUrl: variante da página de previewtempId: identificador usado para ler depois a configuração temporária
Casos comuns de falha
A requisição pode falhar por causa de:
- JSON inválido
- Falta de
metaoutracksno nível superior - Um corpo que não corresponde ao
VideoSchemaatual
3. GET /api/temp/:id
Finalidade:
- Ler o esquema por trás de um link temporário
- Permitir que sua aplicação inspecione a configuração atual de preview
Resposta de sucesso
{
"success": true,
"config": {
"meta": {
"version": "2.0.0",
"width": 1920,
"height": 1080,
"fps": 30
},
"tracks": [
{
"clips": [
{
"type": "text",
"start": 0,
"duration": 3,
"text": "Temporary Preview"
}
]
}
]
}
}Casos comuns de falha:
idnão é um UUID válido- O link temporário não existe
- O link temporário expirou
4. Páginas de preview
Links temporários expõem duas páginas de reprodução:
GET /t/:id: página limpa do playerGET /preview/:id: variante da página de preview
Se o link temporário tiver expirado, essas páginas retornam uma mensagem de estado inválido.
- A API pública garante as URLs de preview, não detalhes internos da implementação do player
- Não dependa de caminhos proxy de assets não documentados, lógica de rewrite no cliente ou helpers internos de runtime
5. Fluxo externo recomendado
Ordem recomendada:
- Montar
meta / assets / tracks - Colocar mídia reutilizável em
assetssempre que possível - Referenciar mídia por meio de
$refdentro dos clips quando apropriado - Enviar para
POST /api/preview - Compartilhar o
/t/:idou/preview/:idretornado - Se necessário depois, converter o preview temporário em uma tarefa permanente pelo fluxo da sua aplicação
6. Recomendações de autoria
Recomendação 1
Prefira $ref para mídia reutilizável em vez de repetir URLs em vários clips.
Recomendação 2
Se as legendas vierem de um serviço externo, uma forma de resposta estável é:
{
"words": [
{
"word": "hello",
"punctuated_word": "Hello",
"start": 0,
"end": 0.4
}
]
}Recomendação 3
Não dependa de campos não documentados ou detalhes internos de implementação que não façam parte da API pública.
7. Checklist de depuração
Se a saída não corresponder ao esperado, verifique primeiro:
- Você ainda está enviando um objeto
videolegado no nível superior - Seu esquema inclui
meta.version,meta.width,meta.heightetracksválidos - URLs remotas de mídia estão diretamente acessíveis pelo ambiente de reprodução
- O link temporário já expirou
8. Exemplo de requisição
curl -X POST https://video.renderingvideo.com/api/preview \
-H "Content-Type: application/json" \
-d @temp-preview.jsonMais exemplos: Exemplos