POST
/
videoMetadata
curl -X POST "https://api.realoficial.com.br/api/v1/videoMetadata" \
  -H "Authorization: Bearer seu_token_aqui" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
  }'
{
  "message": "Dados do vídeo obtidos com sucesso.",
  "data": {
    "id": "01ktn2x7qxknyssndrke436em7",
    "platform": "youtube",
    "storage_provider": "b2",
    "video_id": "AqVu5HEXR6o",
    "url": "https://www.youtube.com/watch?v=AqVu5HEXR6o",
    "zero_ai_suggestion": false,
    "published_at": "2026-06-08T14:00:23.000000Z",
    "title": "Mova a linha da sofisticação",
    "description": "A ideia é simples: muitas vezes, a maior vantagem competitiva não vem da inovação, mas de aplicar algo que já funciona em outro mercado.\n\nAo longo do vídeo, mostro exemplos práticos para agências, SaaS, criadores de conteúdo e negócios digitais, explicando como aumentar conversão, retenção e diferenciação sem precisar reinventar a roda.\n\nSe você quer crescer mais rápido, talvez a resposta não esteja em olhar para os concorrentes. Talvez esteja em olhar para mercados que já estão alguns passos à sua frente.",
    "thumbnail_url": "https://i.ytimg.com/vi/AqVu5HEXR6o/maxresdefault.jpg",
    "channel_title": "Bruno Faggion",
    "channel_id": "UCCwNmdz91xrj09WK2zL3MpA",
    "views": "2349",
    "comments": "12",
    "likes": "241",
    "duration": "19:57",
    "size_in_mb": null,
    "language": "pt-BR",
    "tags": [],
    "created_at": "2026-06-09T02:20:42.000000Z",
    "updated_at": "2026-06-09T03:02:38.000000Z",
    "durationInSec": 1197
  }
}

Endpoint

POST https://api.realoficial.com.br/api/v1/videoMetadata
Esta e a etapa de pre-validacao. Chame este endpoint quando o usuario colar um link para exibir o preview e barrar URLs invalidas antes de criar o projeto e gastar creditos.
Autenticacao obrigatoriaAuthorization: Bearer <token> (valor cru de users.token).

Body Parameters

url
string
required
URL do video. Tipos suportados:
  • YouTube
  • Google Drive
  • Twitch VOD (twitch.tv/videos/{id})
  • Link direto de arquivo (.mp4, .mkv, .matroska, .mov, .qt, .quicktime)
isReframe
boolean
default:"false"
Quando true, ignora a validacao de duracao minima de 4 min do YouTube (fluxo de reframe).
uploadedDuration
number
Condicional — apenas para direct_link. Duracao (em segundos) enviada pelo frontend. Se vier junto com uploadedThumbnail, o backend pula o fetch remoto e persiste os metadados direto.
uploadedThumbnail
string
Condicional — apenas para direct_link. Thumbnail em data-URI base64 (data:image/...;base64,...). Salva no R2 e exposta via cdn.realoficial.com.br.

Validacoes

Todas as regras abaixo retornam 400.
CondicaoMensagem
url vaziaURL cannot be empty.
URL malformada / multiplos links concatenadosInvalid or malformed URL…
URL nao passa em FILTER_VALIDATE_URLInvalid URL.
Tipo de URL nao suportadoUnsupported URL type. Only YouTube, Twitch VOD, direct video files… or Google Drive URLs are allowed.
YouTube ShortsYouTube Shorts URLs are not supported.
Twitch VOD por usuario sem permissaoTwitch VOD support is not yet available for all users.
YouTube com duracao 0 (livestream)Livestreams are not allowed.
YouTube ≤ 4 min e isReframe=falsemensagem de duracao minima
Google Drive / direct_link > 10000 MBmensagem de tamanho maximo
curl -X POST "https://api.realoficial.com.br/api/v1/videoMetadata" \
  -H "Authorization: Bearer seu_token_aqui" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
  }'
{
  "message": "Dados do vídeo obtidos com sucesso.",
  "data": {
    "id": "01ktn2x7qxknyssndrke436em7",
    "platform": "youtube",
    "storage_provider": "b2",
    "video_id": "AqVu5HEXR6o",
    "url": "https://www.youtube.com/watch?v=AqVu5HEXR6o",
    "zero_ai_suggestion": false,
    "published_at": "2026-06-08T14:00:23.000000Z",
    "title": "Mova a linha da sofisticação",
    "description": "A ideia é simples: muitas vezes, a maior vantagem competitiva não vem da inovação, mas de aplicar algo que já funciona em outro mercado.\n\nAo longo do vídeo, mostro exemplos práticos para agências, SaaS, criadores de conteúdo e negócios digitais, explicando como aumentar conversão, retenção e diferenciação sem precisar reinventar a roda.\n\nSe você quer crescer mais rápido, talvez a resposta não esteja em olhar para os concorrentes. Talvez esteja em olhar para mercados que já estão alguns passos à sua frente.",
    "thumbnail_url": "https://i.ytimg.com/vi/AqVu5HEXR6o/maxresdefault.jpg",
    "channel_title": "Bruno Faggion",
    "channel_id": "UCCwNmdz91xrj09WK2zL3MpA",
    "views": "2349",
    "comments": "12",
    "likes": "241",
    "duration": "19:57",
    "size_in_mb": null,
    "language": "pt-BR",
    "tags": [],
    "created_at": "2026-06-09T02:20:42.000000Z",
    "updated_at": "2026-06-09T03:02:38.000000Z",
    "durationInSec": 1197
  }
}
O objeto data e um registro VideoMetadata. Os campos exatos variam por plataforma — o YouTube preenche channel_title / views, enquanto o direct_link deixa muitos campos como null / 0.

Proximo Passo

Apos validar a URL e exibir o preview, use os metadados para chamar POST /createShorts e criar o projeto.