Schema completo delle richieste e delle risposte degli embedding
Schema sincrono 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" } } }
Il seguente elenco include tutti i parametri della richiesta:
-
schemaVersion(Facoltativo): la versione dello schema per la richiesta del modello di embedding multimodaleTipo: stringa
Valori consentiti: “nova-multimodal-embed-v1”
Predefinito: “nova-multimodal-embed-v1”
-
taskType(Obbligatorio): specifica il tipo di operazione di embedding da eseguire sul contenuto di input.single_embeddingsi riferisce alla generazione di un embedding per input del modello.segmented_embeddingsi riferisce alla prima segmentazione dell’input del modello in base alle specifiche dell’utente e quindi alla generazione di un singolo embedding per segmento.Tipo: stringa
Valori consentiti: deve essere “SINGLE_EMBEDDING” per le chiamate sincrone.
-
singleEmbeddingParams(Obbligatorio)-
embeddingPurpose(Obbligatorio): Embedding multimodali Nova permette di ottimizzare gli embedding in base all’applicazione prevista. Gli esempi includono MM-RAG, Digital Asset Management per la ricerca di immagini e video, il confronto delle somiglianze per contenuti multimodali o la classificazione dei documenti per l’elaborazione intelligente dei documenti.embeddingPurposeconsente di specificare il caso d’uso dell’embedding. Seleziona il valore corretto sulla base del caso d’uso riportato di seguito.-
Ricerca e recupero: l’embedding di casi d’uso come RAG e ricerca prevede due passaggi principali: in primo luogo, la creazione di un indice generando embedding per il contenuto e, in secondo luogo, il recupero dei contenuti più pertinenti dall’indice durante la ricerca. Usa i seguenti valori quando lavori con casi d’uso di ricerca e recupero:
-
Indicizzazione:
“GENERIC_INDEX”: crea embedding ottimizzati per l’uso come indici in un archivio di dati vettoriali. Questo valore deve essere usato indipendentemente dalla modalità di indicizzazione.
-
Ricerca/recupero: ottimizza gli embedding in base al tipo di contenuto che stai recuperando:
“TEXT_RETRIEVAL”: crea embedding ottimizzati per la ricerca in un repository contenente solo embedding di testo.
“IMAGE_RETRIEVAL”: crea embedding ottimizzati per la ricerca in un repository contenente solo embedding di immagini creati con “STANDARD_IMAGE” DetailLevel.
“VIDEO_RETRIEVAL”: crea embedding ottimizzati per la ricerca in un archivio contenente solo embedding video o embedding creati con la modalità di embedding “AUDIO_VIDEO_COMBINED”.
“DOCUMENT_RETRIEVAL”: crea embedding ottimizzati per la ricerca in un repository contenente solo embedding di immagini di documenti creati con “DOCUMENT_IMAGE” DetailLevel.
“AUDIO_RETRIEVAL”: crea embedding ottimizzati per la ricerca in un repository contenente solo embedding audio.
“GENERIC_RETRIEVAL”: crea embedding ottimizzati per la ricerca in un repository contenente embedding in modalità mista.
-
Esempio: in un’app di ricerca immagini in cui gli utenti recuperano immagini utilizzando query di testo, usa
embeddingPurpose = generic_indexquando crei un indice di embedding basato sulle immagini e usaembeddingPurpose = image_retrievalquando crei un embedding della query utilizzata per recuperare le immagini.
-
“CLASSIFICAZIONE”: crea embedding ottimizzati per eseguire la classificazione.
“CLUSTERING”: crea embedding ottimizzati per il clustering.
-
-
embeddingDimension(Facoltativo): la dimensione del vettore da generare.Tipo: int
Valori consentiti: 256 | 384 | 1024 | 3072
Impostazione predefinita: 3072
-
text(Facoltativo): rappresenta il contenuto del testo. Deve essere presente esattamente uno di testo, immagini, video e audio.-
truncationMode(Obbligatorio): specifica quale parte del testo verrà troncata nei casi in cui la versione tokenizzata del testo supera il massimo supportato dal modello.Tipo: stringa
Valori consentiti:
“INIZIO”: ometti i caratteri dall’inizio del testo quando necessario.
“FINE”: ometti i caratteri dalla fine del testo quando necessario.
“NESSUNO”: fallisce se la lunghezza del testo supera il limite massimo di token del modello.
-
value(Facoltativo; è necessario fornire il valore o l’origine): il valore di testo per il quale creare l’embedding.Tipo: stringa
Lunghezza massima: 8192 caratteri.
-
source(Facoltativo; è necessario fornire il valore o la fonte): riferimento a un file di testo archiviato in S3. Nota che l’opzione byte del SourceObject non è applicabile agli input di testo. Per passare il testo in linea come parte della richiesta, usa invece il parametro value.Tipo: SourceObject (vedi la sezione “Oggetti comuni”)
-
-
image(Facoltativo): rappresenta il contenuto dell’immagine. Deve essere presente esattamente uno di testo, immagini, video e audio.-
detailLevel(Facoltativo): determina la risoluzione con cui l’immagine verrà elaborata con “STANDARD_IMAGE” usando una risoluzione dell’immagine inferiore e “DOCUMENT_IMAGE” usando un’immagine a risoluzione più elevata per interpretare meglio il testo.Tipo: stringa
Valori consentiti: “STANDARD_IMAGE” | “DOCUMENT_IMAGE”
Predefinito: “STANDARD_IMAGE”
-
format(Obbligatorio)Tipo: stringa
Valori consentiti: “png” | “jpeg” | “gif” | “webp”
-
source(Obbligatorio): una fonte di contenuti per le immagini.Tipo: SourceObject (vedi la sezione “Oggetti comuni”)
-
-
audio(Facoltativo): rappresenta il contenuto dell’audio. Deve essere presente esattamente uno di testo, immagini, video e audio.-
format(Obbligatorio)Tipo: stringa
Valori consentiti: “mp3” | “wav” | “ogg”
-
source(Obbligatorio): una fonte di contenuti audio.Tipo: SourceObject (vedi la sezione “Oggetti comuni”)
Durata massima audio: 30 secondi
-
-
video(Facoltativo): rappresenta il contenuto del video. Deve essere presente esattamente uno di testo, immagini, video e audio.-
format(Obbligatorio)Tipo: stringa
Valori consentiti: “mp4” | “mov” | “mkv” | “webm” | “flv” | “mpeg” | “mpg” | “wmv” | “3gp”
-
source(Obbligatorio): una fonte di contenuti video.Tipo: SourceObject (vedi la sezione “Oggetti comuni”)
Durata massima video: 30 secondi
-
embeddingMode(Obbligatorio)Tipo: stringa
Valori: “AUDIO_VIDEO_COMBINED” | “AUDIO_VIDEO_SEPARATE”
“AUDIO_VIDEO_COMBINED”: produrrà un singolo embedding che combina contenuti audio e visivi.
“AUDIO_VIDEO_SEPARATE”: produrrà due embedding, uno per il contenuto audio e uno per il contenuto visivo.
-
-
Corpo della risposta InvokeModel
Quando InvokeModel restituisce un risultato positivo, il corpo della risposta ha la seguente struttura:
{ "embeddings": [ { "embeddingType": "TEXT" | "IMAGE" | "VIDEO" | "AUDIO" | "AUDIO_VIDEO_COMBINED", "embedding": number[], "truncatedCharLength": int // Only included if text input was truncated } ] }
Il seguente elenco include tutti i parametri della risposta:
-
embeddings(Obbligatorio): per la maggior parte delle richieste, questo array conterrà un singolo embedding. Per le richieste video in cui è stata selezionata la modalità EmbeddingMode “AUDIO_VIDEO_SEPARATE”, questo array conterrà due embedding: uno per il contenuto video e uno per il contenuto audio.-
Tipo: array di embedding con le seguenti proprietà
-
embeddingType(Obbligatorio): riporta il tipo di embedding creato.Tipo: stringa
Valori consentiti: “TEXT” | “IMAGE” | “VIDEO” | “AUDIO” | “AUDIO_VIDEO_COMBINED”
-
embedding(Obbligatorio): il vettore di embedding.Tipo: numero[]
-
truncatedCharLength(Facoltativo): si applica solo alle richieste di embedding del testo. Restituito se la versione tokenizzata del testo di input ha superato i limiti del modello. Il valore indica il carattere dopo il quale il testo è stato troncato prima di generare l’embedding.Tipo: int
-
-
Schema asincrono completo
Puoi generare embedding in modo asincrono usando le funzioni dell’API Amazon Bedrock Runtime StartAsyncInvoke, GetAsyncInvoke e ListAsyncInvokes. Devi usare l’API asincrona se vuoi utilizzare gli embedding Nova per segmentare contenuti lunghi come passaggi di testo o video e audio di durata superiore a 30 secondi.
Quando invochi StartAsyncInvoke, devi fornire i parametri modelId outputDataConfig e modelInput.
response = bedrock_runtime.start_async_invoke( modelId="amazon.nova-2-multimodal-embeddings-v1:0", outputDataConfig=Data Config, modelInput=Model Input)
outputDataConfig specifica il bucket S3 in cui vuoi salvare l’output generato. Ha la struttura seguente:
{ "s3OutputDataConfig": { "s3Uri": "s3://your-s3-bucket" } }
s3Uri è l’URI S3 del bucket di destinazione. Per ulteriori parametri facoltativi, consulta la documentazione StartAsyncInvoke.
Per il parametro modelInput viene usata la seguente struttura.
{ "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 } } } }
Il seguente elenco include tutti i parametri della richiesta:
-
schemaVersion(Facoltativo): la versione dello schema per la richiesta del modello di embedding multimodaleTipo: stringa
Valori consentiti: “nova-multimodal-embed-v1”
Predefinito: “nova-multimodal-embed-v1”
-
taskType(Obbligatorio): specifica il tipo di operazione di embedding da eseguire sul contenuto di input.single_embeddingsi riferisce alla generazione di un embedding per input del modello.segmented_embeddingsi riferisce alla prima segmentazione dell’input del modello in base alle specifiche dell’utente e quindi alla generazione di un singolo embedding per segmento.Tipo: stringa
Valori consentiti: deve essere “SEGMENTED_EMBEDDING” per le chiamate asincrone.
-
segmentedEmbeddingParams(Obbligatorio)-
embeddingPurpose(Obbligatorio): Embedding multimodali Nova permette di ottimizzare gli embedding in base all’applicazione prevista. Gli esempi includono MM-RAG, Digital Asset Management per la ricerca di immagini e video, il confronto delle somiglianze per contenuti multimodali o la classificazione dei documenti per l’elaborazione intelligente dei documenti.embeddingPurposeconsente di specificare il caso d’uso dell’embedding. Seleziona il valore corretto sulla base del caso d’uso riportato di seguito.-
Ricerca e recupero: l’embedding di casi d’uso come RAG e ricerca prevede due passaggi principali: in primo luogo, la creazione di un indice generando embedding per il contenuto e, in secondo luogo, il recupero dei contenuti più pertinenti dall’indice durante la ricerca. Usa i seguenti valori quando lavori con casi d’uso di ricerca e recupero:
-
Indicizzazione:
“GENERIC_INDEX”: crea embedding ottimizzati per l’uso come indici in un archivio di dati vettoriali. Questo valore deve essere usato indipendentemente dalla modalità di indicizzazione.
-
Ricerca/recupero: ottimizza gli embedding in base al tipo di contenuto che stai recuperando:
“TEXT_RETRIEVAL”: crea embedding ottimizzati per la ricerca in un repository contenente solo embedding di testo.
“IMAGE_RETRIEVAL”: crea embedding ottimizzati per la ricerca in un repository contenente solo embedding di immagini creati con “STANDARD_IMAGE” DetailLevel.
“VIDEO_RETRIEVAL”: crea embedding ottimizzati per la ricerca in un archivio contenente solo embedding video o embedding creati con la modalità di embedding “AUDIO_VIDEO_COMBINED”.
“DOCUMENT_RETRIEVAL”: crea embedding ottimizzati per la ricerca in un repository contenente solo embedding di immagini di documenti creati con “DOCUMENT_IMAGE” DetailLevel.
“AUDIO_RETRIEVAL”: crea embedding ottimizzati per la ricerca in un repository contenente solo embedding audio.
“GENERIC_RETRIEVAL”: crea embedding ottimizzati per la ricerca in un repository contenente embedding in modalità mista.
-
Esempio: in un’app di ricerca immagini in cui gli utenti recuperano immagini utilizzando query di testo, usa
embeddingPurpose = generic_indexquando crei un indice di embedding basato sulle immagini e usaembeddingPurpose = image_retrievalquando crei un embedding della query utilizzata per recuperare le immagini.
-
“CLASSIFICAZIONE”: crea embedding ottimizzati per eseguire la classificazione.
“CLUSTERING”: crea embedding ottimizzati per il clustering.
-
-
embeddingDimension(Facoltativo): la dimensione del vettore da generare.Tipo: int
Valori consentiti: 256 | 384 | 1024 | 3072
Impostazione predefinita: 3072
-
text(Facoltativo): rappresenta il contenuto del testo. Deve essere presente esattamente uno di testo, immagini, video e audio.-
truncationMode(Obbligatorio): specifica quale parte del testo verrà troncata nei casi in cui la versione tokenizzata del testo supera il massimo supportato dal modello.Tipo: stringa
Valori consentiti:
“INIZIO”: ometti i caratteri dall’inizio del testo quando necessario.
“FINE”: ometti i caratteri dalla fine del testo quando necessario.
“NESSUNO”: fallisce se la lunghezza del testo supera il limite massimo di token del modello.
-
value(Facoltativo; è necessario fornire il valore o l’origine): il valore di testo per il quale creare l’embedding.Tipo: stringa
Lunghezza massima: 8192 caratteri.
-
source(Facoltativo; è necessario fornire il valore o la fonte): riferimento a un file di testo archiviato in S3. Nota che l’opzione byte del SourceObject non è applicabile agli input di testo. Per passare il testo in linea come parte della richiesta, usa invece il parametro value. -
segmentationConfig(Obbligatorio): controlla come il contenuto del testo deve essere segmentato in più embedding.-
maxLengthChars(Facoltativo): la lunghezza massima consentita per ciascun segmento. Il modello tenterà di segmentare solo ai confini delle parole.Tipo: int
Intervallo valido: 800-50.000
Predefinito: 32.000
-
-
-
image(Facoltativo): rappresenta il contenuto dell’immagine. Deve essere presente esattamente uno di testo, immagini, video e audio.-
format(Obbligatorio)Tipo: stringa
Valori consentiti: “png” | “jpeg” | “gif” | “webp”
-
source(Obbligatorio): una fonte di contenuti per le immagini.Tipo: SourceObject (vedi la sezione “Oggetti comuni”)
-
detailLevel(Facoltativo): determina la risoluzione con cui l’immagine verrà elaborata con “STANDARD_IMAGE” usando una risoluzione dell’immagine inferiore e “DOCUMENT_IMAGE” usando un’immagine a risoluzione più elevata per interpretare meglio il testo.Tipo: stringa
Valori consentiti: “STANDARD_IMAGE” | “DOCUMENT_IMAGE”
Predefinito: “STANDARD_IMAGE”
-
-
audio(Facoltativo): rappresenta il contenuto dell’audio. Deve essere presente esattamente uno di testo, immagini, video e audio.-
format(Obbligatorio)Tipo: stringa
Valori consentiti: “mp3” | “wav” | “ogg”
-
source(Obbligatorio): una fonte di contenuti audio.Tipo: SourceObject (vedi la sezione “Oggetti comuni”)
-
segmentationConfig(Obbligatorio): controlla come il contenuto dell’audio deve essere segmentato in più embedding.-
durationSeconds(Facoltativo): la durata massima dell’audio (in secondi) da usare per ogni segmento.Tipo: int
Intervallo valido: 1-30
Impostazione predefinita: 5
-
-
-
video(Facoltativo): rappresenta il contenuto del video. Deve essere presente esattamente uno di testo, immagini, video e audio.-
format(Obbligatorio)Tipo: stringa
Valori consentiti: “mp4” | “mov” | “mkv” | “webm” | “flv” | “mpeg” | “mpg” | “wmv” | “3gp”
-
source(Obbligatorio): una fonte di contenuti video.Tipo: SourceObject (vedi la sezione “Oggetti comuni”)
-
embeddingMode(Obbligatorio)Tipo: stringa
Valori: “AUDIO_VIDEO_COMBINED” | “AUDIO_VIDEO_SEPARATE”
“AUDIO_VIDEO_COMBINED”: produrrà un singolo embedding per ogni segmento combinando contenuti audio e visivi.
“AUDIO_VIDEO_SEPARATE”: produrrà due embedding per ogni segmento, uno per il contenuto audio e uno per il contenuto video.
-
segmentationConfig(Obbligatorio): controlla come i contenuti video devono essere segmentati in più embedding.-
durationSeconds(Facoltativo): la durata massima del video (in secondi) da usare per ogni segmento.Tipo: int
Intervallo valido: 1-30
Impostazione predefinita: 5
-
-
-
Risposta StartAsyncInvoke
La risposta di una chiamata a StartAsyncInvoke avrà la seguente struttura. invocationArn può essere utilizzato per interrogare lo stato del processo asincrono usando la funzione GetAsyncInvoke.
{ "invocationArn": "arn:aws:bedrock:us-east-1:xxxxxxxxxxxx:async-invoke/lvmxrnjf5mo3", }
Output asincrono
Quando la generazione degli embedding asincroni è completa, gli artefatti di output vengono scritti nel bucket S3 specificato come destinazione dell’output. I file avranno la struttura seguente:
amzn-s3-demo-bucket/job-id/ segmented-embedding-result.json embedding-audio.jsonl embedding-image.json embedding-text.jsonl embedding-video.jsonl manifest.json
segmented-embedding-result.json conterrà il risultato complessivo del processo e il riferimento ai file jsonl corrispondenti che contengono gli embedding effettivi per modalità. Di seguito è riportato un esempio troncato di un file:
{ "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 } ... ] }
I file embedding- saranno file jsonl che contengono l’output di embedding per ciascuna modalità. Ogni riga del file jsonl rispetterà il seguente schema: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 }
Il seguente elenco include tutti i parametri della risposta. Per i caratteri di testo o i tempi audio/video, tutti gli orari di inizio e fine sono basati sullo zero. Inoltre, tutte le posizioni finali del testo o i valori temporali audio/video sono inclusivi.
-
embedding(Obbligatorio): il vettore di embedding.-
Tipo: numero
-
-
segmentMetadata: i metadati per il segmento.-
segmentIndex: l’indice del segmento all’interno dell’array fornito nella richiesta. -
segmentStartCharPosition: solo per testo. La posizione iniziale (inclusiva) del carattere del contenuto incorporato all’interno del segmento. -
segmentEndCharPosition: solo per testo. La posizione finale (esclusiva) del carattere del contenuto incorporato all’interno del segmento. -
truncatedCharLength(Facoltativo): restituito se la versione tokenizzata del testo di input supera i limiti del modello. Il valore indica il carattere dopo il quale il testo è stato troncato prima di generare l’embedding.-
Tipo: Integer
-
-
segmentStartSeconds: solo per audio/video. La posizione temporale iniziale del contenuto incorporato all’interno del segmento. -
segmentEndSeconds: solo per audio/video. La posizione temporale finale del contenuto incorporato all’interno del segmento.
-
-
status: lo stato del segmento. -
failureReason: le ragioni dettagliate del fallimento del segmento.-
RAI_VIOLATION_INPUT_TEXT_DEFLECTION: il testo inserito viola la policy RAI. -
RAI_VIOLATION_INPUT_IMAGE_DEFLECTION: l’immagine inserita viola la policy RAI. -
INVALID_CONTENT: input non valido. -
RATE_LIMIT_EXCEEDED: la richiesta di embedding è limitata a causa della mancata disponibilità del servizio. -
INTERNAL_SERVER_EXCEPTION: qualcosa non ha funzionato.
-
-
message: messaggio di errore correlato.
Limitazioni dei file per Embedding Nova
Le operazioni sincrone possono accettare sia gli input S3 che i blocchi in linea. Le operazioni asincrone possono accettare solo gli input S3.
Quando si generano embedding in modo asincrono, bisogna assicurarsi che il file sia separato in un numero appropriato di segmenti. Per gli embedding di testo non è possibile avere più di 1900 segmenti. Per gli embedding audio e video non è possibile avere più di 1434 segmenti.
|
Tipo di file |
Limiti di dimensione |
|---|---|
|
(In linea) Tutti i tipi di file |
25 MB |
|
(S3) Testo |
1 MB; 50.000 caratteri |
|
(S3) Immagine |
50 MB |
|
(S3) Video |
30 secondi; 100 MB |
|
(S3) Audio |
30 secondi; 100 MB |
Nota
La restrizione di 25 MB per i file in linea si applica dopo l’embedding di Base64. Questo causa un aumento delle dimensioni del file di circa il 33%
|
Tipo di file |
Limiti di dimensione |
|---|---|
|
(S3) Testo |
634 MB |
|
(S3) Immagine |
50 MB |
|
(S3) Video |
2 GB; 2 ore |
|
(S3) Audio |
1 GB; 2 ore |
|
Modalità |
Tipi di file |
|---|---|
|
Formati di immagine |
PNG, JPEG, WEBP, GIF |
|
Formati audio |
MP3, WAV, OGG |
|
Formati video |
MP4, MOV, MKV, WEBM, FLV, MPEG, MPG, WMV, 3GP |