Esquema completo de solicitações e respostas de incorporações
Esquema síncrono completo
{ "schemaVersion": "nova-multimodal-embed-v1", "taskType": "SINGLE_EMBEDDING", "singleEmbeddingParams": { "embeddingPurpose": "GENERIC_INDEX" | "GENERIC_RETRIEVAL" | "TEXT_RETRIEVAL" | "IMAGE_RETRIEVAL" | "VIDEO_RETRIEVAL" | "DOCUMENT_RETRIEVAL" | "AUDIO_RETRIEVAL" | "CLASSIFICATION" | "CLUSTERING", "embeddingDimension": 256 | 384 | 1024 | 3072, "text": { "truncationMode": "START" | "END" | "NONE", "value": string, "source": SourceObject, }, "image": { "detailLevel": "STANDARD_IMAGE" | "DOCUMENT_IMAGE", "format": "png" | "jpeg" | "gif" | "webp", "source": SourceObject }, "audio": { "format": "mp3" | "wav" | "ogg", "source": SourceObject }, "video": { "format": "mp4" | "mov" | "mkv" | "webm" | "flv" | "mpeg" | "mpg" | "wmv" | "3gp", "source": SourceObject, "embeddingMode": "AUDIO_VIDEO_COMBINED" | "AUDIO_VIDEO_SEPARATE" } } }
A lista a seguir inclui todos os parâmetros para a solicitação:
-
schemaVersion(Opcional) - A versão do esquema para a solicitação do modelo de incorporação multimodalTipo: string
Valores permitidos: “nova-multimodal-embed-v1”
Padrão: “nova-multimodal-embed-v1”
-
taskType(Obrigatório) - Especifica o tipo de operação de incorporação a ser executada no conteúdo de entrada.single_embeddingrefere-se à geração de uma incorporação por entrada do modelo.segmented_embeddingrefere-se primeiro à segmentação da entrada do modelo por especificação do usuário e, em seguida, à geração de uma única incorporação por segmento.Tipo: string
Valores permitidos: devem ser “SINGLE_EMBEDDING” para chamadas síncronas.
-
singleEmbeddingParams(Obrigatório)-
embeddingPurpose(Obrigatório) - O Nova Multimodal Embeddings permite que você otimize suas incorporações dependendo da aplicação pretendida. Os exemplos incluem MM-RAG, gerenciamento de ativos digitais para pesquisa de imagens e vídeos, comparação de similaridade para conteúdo multimodal ou classificação de documentos para processamento inteligente de documentos. OembeddingPurposepermite que você especifique o caso de uso de incorporação. Selecione o valor correto dependendo do caso de uso abaixo.-
Pesquisa e recuperação: a incorporação de casos de uso como RAG e pesquisa envolve duas etapas principais: primeiro, criar um índice gerando incorporações para o conteúdo e, segundo, recuperar o conteúdo mais relevante do índice durante a pesquisa. Use os seguintes valores ao trabalhar com casos de uso de pesquisa e recuperação:
-
Indexação:
“GENERIC_INDEX” - Cria incorporações otimizadas para uso como índices em um armazenamento de dados vetoriais. Esse valor deve ser usado independentemente da modalidade que você está indexando.
-
Pesquisa/recuperação: Otimize suas incorporações dependendo do tipo de conteúdo que você está recuperando:
“TEXT_RETRIEVAL” - Cria incorporações otimizadas para pesquisar um repositório que contém somente incorporações de texto.
“IMAGE_RETRIEVAL” - Cria incorporações otimizadas para pesquisar um repositório que contém somente incorporações de imagens criadas com detailLevel “STANDARD_IMAGE”.
“VIDEO_RETRIEVAL” - Cria incorporações otimizadas para pesquisar um repositório que contém somente incorporações de vídeo ou incorporações criadas com o modo de incorporação “AUDIO_VIDEO_COMBINED”.
“DOCUMENT_RETRIEVAL” - Cria incorporações otimizadas para pesquisar um repositório que contém somente incorporações de imagens criadas com detailLevel “STANDARD_IMAGE”.
“AUDIO_RETRIEVAL” - Cria incorporações otimizadas para pesquisar um repositório que contém somente incorporações de áudio.
“GENERIC_RETRIEVAL” - Cria incorporações otimizadas para pesquisar um repositório que contém incorporações de modalidades mistas.
-
Exemplo: em um aplicativo de pesquisa de imagens em que os usuários recuperam imagens usando consultas de texto, use
embeddingPurpose = generic_indexao criar um índice de incorporação com base nas imagens e useembeddingPurpose = image_retrievalao criar uma incorporação da consulta usada para recuperar as imagens.
-
“CLASSIFICATION” - Cria incorporações otimizadas para realizar a classificação.
“CLUSTERING” - Cria incorporações otimizadas para agrupamento.
-
-
embeddingDimension(Opcional) - O tamanho do vetor a ser gerado.Tipo: int
Valores permitidos: 256 | 384 | 1024 | 3072
Padrão: 3072
-
text(Opcional) - Representa o conteúdo de texto. Exatamente um dos seguintes elementos deve estar presente: texto, imagem, vídeo ou áudio.-
truncationMode(Obrigatório) - Especifica qual parte do texto será truncada nos casos em que a versão tokenizada do texto exceder o máximo suportado pelo modelo.Tipo: string
Valores permitidos:
“START” - Omite caracteres do início do texto quando necessário.
“END” - Omite caracteres do final do texto quando necessário.
“NONE” - Falha se o tamanho do texto exceder o máximo de tokens do modelo.
-
value(Opcional; é necessário fornecer o valor ou a origem) - O valor do texto para o qual criar a incorporação.Tipo: string
Extensão máxima: 8192 caracteres.
-
source(Opcional; é necessário fornecer o valor ou a origem) - Referência a um arquivo de texto armazenado no S3. Observe que a opção de bytes do SourceObject não é aplicável às entradas de texto. Para passar o texto diretamente na requisição, utilize o parâmetro “value”.Tipo: SourceObject (consulte a seção “Objetos comuns”)
-
-
image(Opcional) - Representa o conteúdo da imagem. Exatamente um dos seguintes elementos deve estar presente: texto, imagem, vídeo ou áudio.-
detailLevel(Opcional) - Define a resolução na qual a imagem será processada, sendo “STANDARD_IMAGE” para uma resolução de imagem mais baixa e “DOCUMENT_IMAGE” para uma resolução de imagem mais alta, a fim de interpretar melhor o texto.Tipo: string
Valores permitidos: “STANDARD_IMAGE” | “DOCUMENT_IMAGE”
Padrão: “STANDARD_IMAGE”
-
format(Obrigatório)Tipo: string
Valores permitidos: “png” | “jpeg” | “gif” | “webp”
-
source(Obrigatório) - Uma fonte de conteúdo de imagem.Tipo: SourceObject (consulte a seção “Objetos comuns”)
-
-
audio(Opcional) - Representa o conteúdo de áudio. Exatamente um dos seguintes elementos deve estar presente: texto, imagem, vídeo ou áudio.-
format(Obrigatório)Tipo: string
Valores permitidos: “mp3” | “wav” | “ogg”
-
source(Obrigatório) - Uma fonte de conteúdo de áudio.Tipo: SourceObject (consulte a seção “Objetos comuns”)
Duração máxima do áudio: 30 segundos
-
-
video(Opcional) - Representa o conteúdo de vídeo. Exatamente um dos seguintes elementos deve estar presente: texto, imagem, vídeo ou áudio.-
format(Obrigatório)Tipo: string
Valores permitidos: “mp4” | “mov” | “mkv” | “webm” | “flv” | “mpeg” | “mpg” | “wmv” | “3gp”
-
source(Obrigatório) - Uma fonte de conteúdo de vídeo.Tipo: SourceObject (consulte a seção “Objetos comuns”)
Duração máxima do vídeo: 30 segundos
-
embeddingMode(Obrigatório)Tipo: string
Valores: “AUDIO_VIDEO_COMBINED” | “AUDIO_VIDEO_SEPARATE”
“AUDIO_VIDEO_COMBINED” - Produzirá uma única incorporação que combina conteúdo de áudio e vídeo.
“AUDIO_VIDEO_SEPARATE” - Produzirá duas incorporações, uma para o conteúdo de áudio e outra para o conteúdo visual.
-
-
Corpo da resposta InvokeModel
Quando InvokeModel retorna um resultado bem-sucedido, o corpo da resposta terá a seguinte estrutura:
{ "embeddings": [ { "embeddingType": "TEXT" | "IMAGE" | "VIDEO" | "AUDIO" | "AUDIO_VIDEO_COMBINED", "embedding": number[], "truncatedCharLength": int // Only included if text input was truncated } ] }
A lista a seguir inclui todos os parâmetros para a resposta:
-
embeddings(Obrigatório) - Para a maioria das solicitações, essa matriz conterá uma única incorporação. Para solicitações de vídeo em que o modo embeddingMode “AUDIO_VIDEO_SEPARATE” foi selecionado, essa matriz conterá duas incorporações: uma incorporação para o conteúdo de vídeo e outra para o conteúdo de áudio.-
Tipo: array de incorporações com as seguintes propriedades
-
embeddingType(Obrigatório) - Relata o tipo de incorporação que foi criada.Tipo: string
Valores permitidos: “TEXT” | “IMAGE” | “VIDEO” | “AUDIO” | “AUDIO_VIDEO_COMBINED”
-
embedding(Obrigatório) - O vetor de incorporação.Tipo: number[]
-
truncatedCharLength(Opcional) - Aplica-se somente às solicitações de incorporação de texto. Retorna se a versão tokenizada do texto de entrada exceder as limitações do modelo. O valor indica o caractere após o qual o texto foi truncado antes de gerar a incorporação.Tipo: int
-
-
Esquema assíncrono completo
Você pode gerar incorporações de forma assíncrona usando as funções StartAsyncInvoke, GetAsyncInvoke e ListAsyncInvoke da API Amazon Bedrock Runtime. A API assíncrona deve ser usada se você quiser usar o Nova Embeddings para segmentar conteúdo longo, como trechos longos de texto ou vídeos e áudios com mais de 30 segundos de duração.
Ao chamar startAsyncInvoke, você deve fornecer modelId, outputDataConfig e parâmetros modelInput.
response = bedrock_runtime.start_async_invoke( modelId="amazon.nova-2-multimodal-embeddings-v1:0", outputDataConfig=Data Config, modelInput=Model Input)
outputDataConfig especifica o bucket do S3 no qual você gostaria de salvar a saída gerada. Ela tem a seguinte estrutura:
{ "s3OutputDataConfig": { "s3Uri": "s3://your-s3-bucket" } }
O s3Uri é o URI do S3 do bucket de destino. Para obter parâmetros opcionais adicionais, consulte a documentação do StartAsyncInvoke.
A estrutura a seguir é usada para o parâmetro modelInput.
{ "schemaVersion": "nova-multimodal-embed-v1", "taskType": "SEGMENTED_EMBEDDING", "segmentedEmbeddingParams": { "embeddingPurpose": "GENERIC_INDEX" | "GENERIC_RETRIEVAL" | "TEXT_RETRIEVAL" | "IMAGE_RETRIEVAL" | "VIDEO_RETRIEVAL" | "DOCUMENT_RETRIEVAL" | "AUDIO_RETRIEVAL" | "CLASSIFICATION" | "CLUSTERING", "embeddingDimension": 256 | 384 | 1024 | 3072, "text": { "truncationMode": "START" | "END" | "NONE", "value": string, "source": { "s3Location": { "uri": "s3://Your S3 Object" } }, "segmentationConfig": { "maxLengthChars": int } }, "image": { "format": "png" | "jpeg" | "gif" | "webp", "source": SourceObject, "detailLevel": "STANDARD_IMAGE" | "DOCUMENT_IMAGE" }, "audio": { "format": "mp3" | "wav" | "ogg", "source": SourceObject, "segmentationConfig": { "durationSeconds": int } }, "video": { "format": "mp4" | "mov" | "mkv" | "webm" | "flv" | "mpeg" | "mpg" | "wmv" | "3gp", "source": SourceObject, "embeddingMode": "AUDIO_VIDEO_COMBINED" | "AUDIO_VIDEO_SEPARATE", "segmentationConfig": { "durationSeconds": int } } } }
A lista a seguir inclui todos os parâmetros para a solicitação:
-
schemaVersion(Opcional) - A versão do esquema para a solicitação do modelo de incorporação multimodalTipo: string
Valores permitidos: “nova-multimodal-embed-v1”
Padrão: “nova-multimodal-embed-v1”
-
taskType(Obrigatório) - Especifica o tipo de operação de incorporação a ser executada no conteúdo de entrada.single_embeddingrefere-se à geração de uma incorporação por entrada do modelo.segmented_embeddingrefere-se primeiro à segmentação da entrada do modelo por especificação do usuário e, em seguida, à geração de uma única incorporação por segmento.Tipo: string
Valores permitidos: devem ser “SEGMENTED_EMBEDDING” para chamadas assíncronas.
-
segmentedEmbeddingParams(Obrigatório)-
embeddingPurpose(Obrigatório) - O Nova Multimodal Embeddings permite que você otimize suas incorporações dependendo da aplicação pretendida. Os exemplos incluem MM-RAG, gerenciamento de ativos digitais para pesquisa de imagens e vídeos, comparação de similaridade para conteúdo multimodal ou classificação de documentos para processamento inteligente de documentos. OembeddingPurposepermite que você especifique o caso de uso de incorporação. Selecione o valor correto dependendo do caso de uso abaixo.-
Pesquisa e recuperação: a incorporação de casos de uso como RAG e pesquisa envolve duas etapas principais: primeiro, criar um índice gerando incorporações para o conteúdo e, segundo, recuperar o conteúdo mais relevante do índice durante a pesquisa. Use os seguintes valores ao trabalhar com casos de uso de pesquisa e recuperação:
-
Indexação:
“GENERIC_INDEX” - Cria incorporações otimizadas para uso como índices em um armazenamento de dados vetoriais. Esse valor deve ser usado independentemente da modalidade que você está indexando.
-
Pesquisa/recuperação: Otimize suas incorporações dependendo do tipo de conteúdo que você está recuperando:
“TEXT_RETRIEVAL” - Cria incorporações otimizadas para pesquisar um repositório que contém somente incorporações de texto.
“IMAGE_RETRIEVAL” - Cria incorporações otimizadas para pesquisar um repositório que contém somente incorporações de imagens criadas com detailLevel “STANDARD_IMAGE”.
“VIDEO_RETRIEVAL” - Cria incorporações otimizadas para pesquisar um repositório que contém somente incorporações de vídeo ou incorporações criadas com o modo de incorporação “AUDIO_VIDEO_COMBINED”.
“DOCUMENT_RETRIEVAL” - Cria incorporações otimizadas para pesquisar um repositório que contém somente incorporações de imagens criadas com detailLevel “STANDARD_IMAGE”.
“AUDIO_RETRIEVAL” - Cria incorporações otimizadas para pesquisar um repositório que contém somente incorporações de áudio.
“GENERIC_RETRIEVAL” - Cria incorporações otimizadas para pesquisar um repositório que contém incorporações de modalidades mistas.
-
Exemplo: em um aplicativo de pesquisa de imagens em que os usuários recuperam imagens usando consultas de texto, use
embeddingPurpose = generic_indexao criar um índice de incorporação com base nas imagens e useembeddingPurpose = image_retrievalao criar uma incorporação da consulta usada para recuperar as imagens.
-
“CLASSIFICATION” - Cria incorporações otimizadas para realizar a classificação.
“CLUSTERING” - Cria incorporações otimizadas para agrupamento.
-
-
embeddingDimension(Opcional) - O tamanho do vetor a ser gerado.Tipo: int
Valores permitidos: 256 | 384 | 1024 | 3072
Padrão: 3072
-
text(Opcional) - Representa o conteúdo de texto. Exatamente um dos seguintes elementos deve estar presente: texto, imagem, vídeo ou áudio.-
truncationMode(Obrigatório) - Especifica qual parte do texto será truncada nos casos em que a versão tokenizada do texto exceder o máximo suportado pelo modelo.Tipo: string
Valores permitidos:
“START” - Omite caracteres do início do texto quando necessário.
“END” - Omite caracteres do final do texto quando necessário.
“NONE” - Falha se o tamanho do texto exceder o máximo de tokens do modelo.
-
value(Opcional; é necessário fornecer o valor ou a origem) - O valor do texto para o qual criar a incorporação.Tipo: string
Extensão máxima: 8192 caracteres.
-
source(Opcional; é necessário fornecer o valor ou a origem) - Referência a um arquivo de texto armazenado no S3. Observe que a opção de bytes do SourceObject não é aplicável às entradas de texto. Para passar o texto diretamente na requisição, utilize o parâmetro “value”. -
segmentationConfig(Obrigatório) - Controla como o conteúdo de texto deve ser segmentado em várias incorporações.-
maxLengthChars(Opcional) - O comprimento máximo permitido para cada segmento. O modelo tentará segmentar somente nos limites das palavras.Tipo: int
Intervalo válido: 800-50.000
Padrão: 32.000
-
-
-
image(Opcional) - Representa o conteúdo da imagem. Exatamente um dos seguintes elementos deve estar presente: texto, imagem, vídeo ou áudio.-
format(Obrigatório)Tipo: string
Valores permitidos: “png” | “jpeg” | “gif” | “webp”
-
source(Obrigatório) - Uma fonte de conteúdo de imagem.Tipo: SourceObject (consulte a seção “Objetos comuns”)
-
detailLevel(Opcional) - Define a resolução na qual a imagem será processada, sendo “STANDARD_IMAGE” para uma resolução de imagem mais baixa e “DOCUMENT_IMAGE” para uma resolução de imagem mais alta, a fim de interpretar melhor o texto.Tipo: string
Valores permitidos: “STANDARD_IMAGE” | “DOCUMENT_IMAGE”
Padrão: “STANDARD_IMAGE”
-
-
audio(Opcional) - Representa o conteúdo de áudio. Exatamente um dos seguintes elementos deve estar presente: texto, imagem, vídeo ou áudio.-
format(Obrigatório)Tipo: string
Valores permitidos: “mp3” | “wav” | “ogg”
-
source(Obrigatório) - Uma fonte de conteúdo de áudio.Tipo: SourceObject (consulte a seção “Objetos comuns”)
-
segmentationConfig(Obrigatório) - Controla como o conteúdo de áudio deve ser segmentado em várias incorporações.-
durationSeconds(Opcional) - A duração máxima do áudio (em segundos) a ser usada para cada segmento.Tipo: int
Intervalo válido: 1-30
Padrão: 5
-
-
-
video(Opcional) - Representa o conteúdo de vídeo. Exatamente um dos seguintes elementos deve estar presente: texto, imagem, vídeo ou áudio.-
format(Obrigatório)Tipo: string
Valores permitidos: “mp4” | “mov” | “mkv” | “webm” | “flv” | “mpeg” | “mpg” | “wmv” | “3gp”
-
source(Obrigatório) - Uma fonte de conteúdo de vídeo.Tipo: SourceObject (consulte a seção “Objetos comuns”)
-
embeddingMode(Obrigatório)Tipo: string
Valores: “AUDIO_VIDEO_COMBINED” | “AUDIO_VIDEO_SEPARATE”
“AUDIO_VIDEO_COMBINED” - Produzirá uma única incorporação para cada segmento que combina conteúdo de áudio e vídeo.
“AUDIO_VIDEO_SEPARATE” - Produzirá duas incorporações para cada segmento, uma para o conteúdo de áudio e outra para o conteúdo visual.
-
segmentationConfig(Obrigatório) - Controla como o conteúdo de vídeo deve ser segmentado em várias incorporações.-
durationSeconds(Opcional) - A duração máxima do vídeo (em segundos) a ser usada para cada segmento.Tipo: int
Intervalo válido: 1-30
Padrão: 5
-
-
-
Resposta StartAsyncInvoke
A resposta de uma chamada para StartAsyncInvoke terá a estrutura abaixo. O invocationArn pode ser usado para consultar o status do trabalho assíncrono usando a função GetAsyncInvoke.
{ "invocationArn": "arn:aws:bedrock:us-east-1:xxxxxxxxxxxx:async-invoke/lvmxrnjf5mo3", }
Saída assíncrona
Quando a geração de incorporações assíncronas é concluída, os artefatos de saída são gravados no bucket do S3 que você especificou como destino de saída. Os arquivos terão a seguinte estrutura:
amzn-s3-demo-bucket/job-id/ segmented-embedding-result.json embedding-audio.jsonl embedding-image.json embedding-text.jsonl embedding-video.jsonl manifest.json
O segmented-embedding-result.json conterá o resultado geral do trabalho e a referência aos arquivos jsonl correspondentes, que contêm as incorporações reais por modalidade. Abaixo está um exemplo abreviado de um arquivo:
{ "sourceFileUri": string, "embeddingDimension": 256 | 384 | 1024 | 3072, "embeddingResults": [ { "embeddingType": "TEXT" | "IMAGE" | "VIDEO" | "AUDIO" | "AUDIO_VIDEO_COMBINED", "status": "SUCCESS" | "FAILURE" | "PARTIAL_SUCCESS", "failureReason": string, // Granular error codes "message": string, // Human-readbale failure message "outputFileUri": string // S3 URI to a "embedding-modality.jsonl" file } ... ] }
Os embedding- serão arquivos jsonl que contêm a saída de incorporação para cada modalidade. Cada linha no arquivo jsonl seguirá o seguinte esquema:modality.json
{ "embedding": number[], // The generated embedding vector "segmentMetadata": { "segmentIndex": number, "segmentStartCharPosition": number, // Included for text only "segmentEndCharPosition": number, // Included for text only "truncatedCharLength": number, // Included only when text gets truncated "segmentStartSeconds": number, // Included for audio/video only "segmentEndSeconds": number // Included for audio/video only }, "status": "SUCCESS" | "FAILURE", "failureReason": string, // Granular error codes "message": string // Human-readable failure message }
A lista a seguir inclui todos os parâmetros para a resposta. Para caracteres de texto ou tempos de áudio/vídeo, todos os horários de início e término são baseados em zero. Além disso, todas as posições finais de texto ou valores de tempo de áudio/vídeo são inclusivos.
-
embedding(Obrigatório) — O vetor de incorporação.-
Tipo: número
-
-
segmentMetadata— Os metadados do segmento.-
segmentIndex— O índice do segmento dentro do array fornecido na solicitação. -
segmentStartCharPosition— Somente para texto. A posição inicial do caractere (inclusive) do conteúdo incorporado no segmento. -
segmentEndCharPosition— Somente para texto. A posição do caractere final (inclusive) do conteúdo incorporado no segmento. -
truncatedCharLength(Opcional) — Retorna se a versão tokenizada do texto de entrada exceder as limitações do modelo. O valor indica o caractere após o qual o texto foi truncado antes de gerar a incorporação.-
Tipo: inteiro
-
-
segmentStartSeconds— Somente para áudio/vídeo. A posição de tempo inicial (inclusive) do conteúdo incorporado no segmento. -
segmentEndSeconds— Somente para áudio/vídeo. A posição de tempo final (inclusive) do conteúdo incorporado no segmento.
-
-
status— O status do segmento. -
failureReason— Os motivos detalhados da falha do segmento.-
RAI_VIOLATION_INPUT_TEXT_DEFLECTION— O texto de entrada viola a política de RAI. -
RAI_VIOLATION_INPUT_IMAGE_DEFLECTION— A imagem de entrada viola a política de RAI. -
INVALID_CONTENT— Entrada inválida -
RATE_LIMIT_EXCEEDED— A solicitação de incorporação foi limitada devido à indisponibilidade do serviço. -
INTERNAL_SERVER_EXCEPTION— Algo deu errado.
-
-
message— Mensagem de falha relacionada.
Limitações de arquivo para o Nova Embeddings
As operações síncronas podem aceitar tanto entradas do S3 quanto chunks inline. As operações assíncronas só podem aceitar entradas do S3.
Ao gerar incorporações de forma assíncrona, você precisará garantir que seu arquivo seja dividido em um número apropriado de segmentos. Para incorporações de texto, você não pode ter mais de 1900 segmentos. Para incorporações de áudio e texto, você não pode ter mais de 1434 segmentos.
|
Tipo de arquivo |
Limite de tamanho |
|---|---|
|
(Inline) Todos os tipos de arquivo |
25 MB |
|
(S3) Texto |
1 MB; 50.000 caracteres |
|
(S3) Imagem |
50 MB |
|
(S3) Vídeo |
30 segundos; 100 MB |
|
(S3) Áudio |
30 segundos; 100 MB |
nota
A restrição de arquivo inline de 25 MB ocorre após a incorporação Base64. Isso causa um aumento no tamanho do arquivo de cerca de 33%.
|
Tipo de arquivo |
Limite de tamanho |
|---|---|
|
(S3) Texto |
634 MB |
|
(S3) Imagem |
50 MB |
|
(S3) Vídeo |
2 GB; 2 horas |
|
(S3) Áudio |
1 GB; 2 horas |
|
Modalidade |
Tipos de arquivo |
|---|---|
|
Formatos de imagem |
PNG, JPEG, WEBP, GIF |
|
Formatos de áudio |
MP3, WAV, OGG |
|
Formato de vídeo |
MP4, MOV, MKV, WEBM, FLV, MPEG, MPG, WMV, 3GP |