A API do Voz Pra Video permite a criação de narrações em áudio utilizando Inteligência Artificial (IA) a partir de textos fornecidos. Neste documento, você encontrará informações sobre como usar os endpoints disponíveis, exemplos de requisição e resposta, e a autenticação necessária.

Base URL

Todas as requisições da API devem ser feitas para o seguinte endereço:

https://voz-pra-video-api.fly.dev/api

Endpoints Disponíveis

1. Listar Vozes de IA

Descrição: Retorna uma lista de vozes de IA disponíveis para geração de áudio.

Método: GET

Endpoint: /ai-voices/list

Exemplo de Requisição:

curl --request GET \
  --url https://voz-pra-video-api.fly.dev/api/ai-voices/list \
  --header 'Authorization: YOUR_TOKEN'

Exemplo de Resposta:

[
  {
    "_id": "voicexyz123",
    "name": "Voz Exemplo",
    "avatar": "https://example.com/avatar.jpg",
    "audioPreview": "https://example.com/preview.mp3",
    "plan": "FREE"
  }
]

Status Code: 200 OK

2. Listar Áudios Gerados

Descrição: Retorna uma lista de áudios gerados previamente.

Método: GET

Endpoint: /generations/list

Exemplo de Requisição:

curl --request GET \
  --url https://voz-pra-video-api.fly.dev/api/generations/list \
  --header 'Authorization: YOUR_TOKEN'

Exemplo de Resposta:

[
  {
    "_id": "audioxyz123",
    "aiVoice": {
      "_id": "voicexyz123",
      "name": "Voz Exemplo",
      "avatar": "https://example.com/avatar.jpg",
      "audioPreview": "https://example.com/preview.mp3",
      "plan": "FREE"
    },
    "text": "Texto de exemplo",
    "seconds": 10,
    "link": "https://example.com/audio.mp3",
    "externalId": "ext123",
    "complete": true,
    "createdAt": "2024-10-07T14:33:54.803Z",
    "updatedAt": "2024-10-07T14:33:54.803Z"
  }
]

Status Code: 200 OK

3. Gerar Áudio

Descrição: Gera um áudio baseado no texto e na voz fornecidos.

Método: POST

Endpoint: /generations/make

PropriedadeDescrição
textTexto a ser transformado em áudio. (Obrigatório)
voiceIdID da voz que será usada na geração. (Obrigatório)
externalIdID externo para identificar a geração. (Obrigatório)
callbackUrlURL de callback para notificação da conclusão. (Obrigatório)
formatFormato do áudio gerado (WAV, MP3, OGG). Padrão: WAV

Exemplo de Requisição:

curl --request POST \
  --url https://voz-pra-video-api.fly.dev/api/generations/make \
  --header 'Authorization: YOUR_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
  "text": "Texto de exemplo",
  "voiceId": "voicexyz123",
  "externalId": "123456",
  "callbackUrl": "https://seu-callback.com/notify",
  "format": "WAV"
}'

Estruturas de Dados

1. IPublicAIVoice

Este objeto contém as informações de uma voz de IA pública.

PropriedadeTipoDescrição
_idstringIdentificador único da voz.
namestringNome da voz.
avatarstringURL do avatar associado à voz.
audioPreviewstringURL para o áudio de demonstração da voz.
planstringTipo de plano associado à voz. Pode ser “FREE” ou “PREMIUM”.

Exemplo:

{
  "_id": "voicexyz123",
  "name": "Voz Exemplo",
  "avatar": "https://example.com/avatar.jpg",
  "audioPreview": "https://example.com/preview.mp3",
  "plan": "FREE"
}

2. IPublicGeneration

Este objeto contém os detalhes de uma geração de áudio.

PropriedadeTipoDescrição
_idstringIdentificador único da geração de áudio.
aiVoiceobjectObjeto contendo informações sobre a voz usada, conforme descrito em IPublicAIVoice.
textstringTexto que foi convertido em áudio.
secondsintegerDuração do áudio gerado em segundos.
linkstringURL para o áudio gerado.
externalIdstringIdentificador externo da geração.
completebooleanStatus indicando se a geração foi concluída.
createdAtstringData e hora de criação da geração, no formato ISO 8601.
updatedAtstringData e hora da última atualização da geração, no formato ISO 8601.

Exemplo:

{
  "_id": "gen123456",
  "aiVoice": {
    "_id": "voicexyz123",
    "name": "Voz Exemplo",
    "avatar": "https://example.com/avatar.jpg",
    "audioPreview": "https://example.com/preview.mp3",
    "plan": "FREE"
  },
  "text": "Este é um exemplo de texto.",
  "seconds": 5,
  "link": "https://example.com/audio.mp3",
  "externalId": "ext123",
  "complete": true,
  "createdAt": "2024-10-07T14:33:54.803Z",
  "updatedAt": "2024-10-07T14:33:54.803Z"
}

3. MakeGenerationRequest

Este objeto representa a estrutura de dados necessária para solicitar a geração de um áudio.

PropriedadeTipoDescrição
textstringTexto que será convertido em áudio.
voiceIdstringIdentificador da voz que será utilizada para a geração.
externalIdstringIdentificador externo da geração.
callbackUrlstringURL para a qual será enviada uma notificação após a geração ser concluída.
formatstringFormato do áudio gerado (pode ser WAV, MP3 ou OGG). O padrão é WAV.

Exemplo:

{
  "text": "Olá, este é um teste de geração de áudio.",
  "voiceId": "voicexyz123",
  "externalId": "ext123",
  "callbackUrl": "https://example.com/callback",
  "format": "WAV"
}

4. GenerationCallbackPayload

Este objeto representa a estrutura de dados enviada para o callbackUrl após a conclusão da geração de áudio.

PropriedadeTipoDescrição
idstringIdentificador único da geração de áudio.
durationintegerDuração do áudio gerado em segundos.
externalIdstringIdentificador externo associado à geração.
urlstringURL onde o áudio gerado pode ser acessado.

Exemplo:

{
  "id": "gen123",
  "duration": 15,
  "externalId": "ext123",
  "url": "https://example.com/audio/gen123.wav"
}