Criação de Avatar
Este guia de API fornece uma visão geral da criação de avatares em nossa plataforma.
Você pode visualizar uma lista de todos os avatares padrão e avatares personalizados e verificar seus status. Use o avatar 'id' para monitorar o progresso, pois o processo de geração pode levar algum tempo. Quando estiver pronto, você pode usar esses avatares para gerar vídeos, aprimorando seu conteúdo com recursos de avatar personalizados. 🦊
Início rápido
Vamos mergulhar e explorar como criar avatares instantâneos e premium em nossa plataforma.
Criar avatar instantâneo
Um avatar instantâneo é gerado rapidamente a partir de uma foto que você fornece, oferecendo uma maneira rápida de criar um avatar. Para criar um avatar instantâneo, você deve fornecer uma foto que siga estas diretrizes, pois a qualidade do avatar depende inteiramente da foto fornecida. Faça uma solicitação à API para criação instantânea de avatar. Os formatos de imagem aceitos incluem 'png' e 'jpeg'. Envie o arquivo e outros dados como multipart/form-data com as chaves fornecidas na solicitação de amostra. Na resposta, o 'id' é o elemento-chave que você usará para solicitação de vídeo em massa. O 'thumbnail' fornece uma prévia do avatar recém-criado, permitindo que você o revise antes do uso. Detalhes adicionais como 'name', 'gender' e 'user' também serão incluídos na resposta. Use avatar status api para verificar o status do avatar.
curl --request POST \
--url '<https://api.immersive-fox.com/v1/avatar_generation/create_instant_avatar/>' \
--header 'X-Api-Key: <your-api-key>' \
--header 'Content-Type: multipart/form-data' \
-F 'file=@my_image.png' \
-F 'name=John' \
-F 'gender=Male' \
-F 'remove_background=false'
{
"id": 839,
"thumbnail": "https://storage.googleapis.com/my_bucket_name/avatar_thumbnail/my_thumbnail.png",
"name": "Smith",
"gender": "Male",
"user": 31,
"remove_background": false,
"based_on": "Photo",
"has_hand_wave": false
"generation_time": 20
}
Criar Avatar Premium
Um avatar premium é criado a partir de um vídeo, resultando em uma representação mais realista e detalhada. Para gerar um avatar premium usando nossa API, siga estas etapas:
- Solicitar URLs pré-assinadas:
Primeiro, solicite as URLs pré-assinadas e os nomes de arquivo de vídeo correspondentes do ponto de extremidade de geração de URL pré-assinada especificando as extensões de arquivo (por exemplo, .mp4) para os vídeos a serem carregados. A resposta fornecerá duas URLs pré-assinadas — uma para o vídeo silencioso e uma para o vídeo falado — permitindo o carregamento direto. Além disso, a resposta incluirá os nomes de arquivo para ambos os vídeos, que devem ser enviados na próxima etapa para gerar o avatar premium.
```bash
curl --request POST \
--url 'https://api.immersive-fox.com/v1/avatar_generation/premium_avatar_presigned_urls/' \
--header 'X-Api-Key: <your-api-key>' \
--header 'Content-Type: application/json' \
--header 'Content-Type: multipart/form-data' \
-F 'speaking_video_extention=.mp4' \
-F 'silent_video_extention=.mp4'
```
```json
{
"silent_video_data": {
"presigned_url": "https://premium-avatar-videos.s3.amazonaws.com/silent_videos/31_6f72a1900fd64969ab9f8df465f9e92c.mp4?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIA6E6ARAOX65ONAQYP%2F20241002%2Feu-central-1%2Fs3%2Faws4_request&X-Amz-Date=20241002T221000Z&X-Amz-Expires=1800&X-Amz-SignedHeaders=host&X-Amz-Signature=72058a2c206ba63726eeda2e88266575c046fa0625f9af1c366b4b9bf921b3ef",
"file_name": "31_6f72a1900fd64969ab9f8df465f9e92c.mp4"
},
"speaking_video_data": {
"presigned_url": "https://premium-avatar-videos.s3.amazonaws.com/speaking_videos/31_1e4eb799a3b84639a11c929a6729a1be.mp4?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIA6E6ARAOX65ONAQYP%2F20241002%2Feu-central-1%2Fs3%2Faws4_request&X-Amz-Date=20241002T221000Z&X-Amz-Expires=1800&X-Amz-SignedHeaders=host&X-Amz-Signature=58e84ccd7d702b64b3400479f27b417f551317ca96afce3e923ac18d9db28bce",
"file_name": "31_1e4eb799a3b84639a11c929a6729a1be.mp4"
}
}
```
-
Carregue vídeos usando URLs pré-assinadas: Para gerar um avatar premium, você deve carregar um vídeo falado, enquanto o vídeo silencioso é opcional para melhorar a qualidade do avatar. Certifique-se de que ambos os vídeos sigam as diretrizes fornecidas. Use o método PUT com o 'presigned_url' que você obteve na etapa anterior, que são válidos por 30 minutos. Os arquivos de vídeo devem ser carregados como dados binários diretamente para as URLs dentro desse período de tempo. === "Solicitar"
```bash curl --request PUT \ --url 'https://premium-avatar-videos.s3.amazonaws.com/speaking_videos/{file_name}?<presigned_url_parameters>' \ --header 'X-Api-Key: <your-api-key>' \ --header 'Content-Type: video/mp4' \ --data-binary '@speaking_video.mp4' ``` === "Resposta" ```json { } ``` --- === "Solicitação" ```bash curl --request PUT \ --url 'https://premium-avatar-videos.s3.amazonaws.com/silent_videos/{file_name}?<presigned_url_parameters>' \ --header 'X-Api-Key: <your-api-key>' \ --header 'Content-Type: video/mp4' \ --data-binary '@silent_video.mp4' ``` === "Resposta" ```json { } ``` -
Enviar solicitação de criação de avatar:
Após enviar os vídeos, use o 'file_name' obtido da solicitação de URL pré-assinada para gerar o avatar premium. A resposta incluirá o 'id' do avatar premium recém-criado, que será usado para solicitação de vídeo em massa subsequente. Além disso, a resposta fornecerá uma 'miniatura' que é uma prévia do avatar, bem como detalhes como o 'tempo de geração', 'nome', 'gênero' e outras informações relevantes. Use o status do avatar api para verificar o status do avatar.
```bash
curl --request POST \
--url 'https://api.immersive-fox.com/v1/avatar_generation/create_premium_avatar/' \
--header 'X-Api-Key: <your-api-key>' \
--header 'Content-Type: application/json' \
--header 'Content-Type: form-data' \
-F 'avatar_name=John' \
-F 'gender=Male' \
-F 'remove_background=false' \
-F 'silent_video_name=31_6f72a1900fd64969ab9f8df465f9e92c.mp4' \
-F 'speaking_video_name=31_1e4eb799a3b84639a11c929a6729a1be.mp4'
```
```bash
{
"id": 840,
"thumbnail": "https://storage.googleapis.com/my_bucket_name/avatar_thumbnail/my_thumbnail.png",
"name": "John",
"gender": "Male",
"user": 31,
"remove_background": true,
"based_on": "Video",
"has_hand_wave": false
"generation_time": 24
}
```