Pular para o conteúdo principal

Consultar modelos de áudio e vídeo

Esta página descreve como enviar entradas de áudio e vídeo para modelos de fundação Gemini servidos pelo Unity AI Gateway no Databricks. É possível fornecer mídia como uma URL ou como dados em linha codificados em base64 usando a Chat Completions API ou a Google Gemini API.

Requisitos

Métodos de entrada

Você pode fornecer entradas de áudio e vídeo usando dois métodos:

  • URL : Forneça um URL publicamente acessível para o arquivo de mídia. Para vídeos, URLs do YouTube também são suportadas.
  • Dados embutidos em Base64 : Codifique o arquivo como uma string Base64 e passe-o como um URI de dados (por exemplo, data:video/mp4;base64,<encoded_data>).
nota

Os exemplos a seguir são baseados em Unity AI Gateway e serviços de modelo. Se você usa endpoints de servindo modelo em vez de serviços de modelo, substitua o nome do serviço de modelo pelo nome de um endpoint. Consulte modelos de base hospedados pelo Databricks disponíveis nas APIs do Foundation Model para obter uma lista de modelos de base disponíveis e seus nomes de serviço de modelo e endpoint.

API de conclusões de bate-papo

A API de autocompletar do chat permite transmitir entradas de vídeo e áudio. Use os tipos de conteúdo video_url e audio_url na matriz messages para passar entradas de mídia. Cada item de conteúdo inclui um campo url que aceita um URL da web ou um URI de dados base64.

Entrada de vídeo

Python
import os
import base64
from openai import OpenAI

DATABRICKS_TOKEN = os.environ.get('DATABRICKS_TOKEN')
DATABRICKS_BASE_URL = os.environ.get('DATABRICKS_BASE_URL')

client = OpenAI(
api_key=DATABRICKS_TOKEN,
base_url=DATABRICKS_BASE_URL
)

# Encode a local video file as base64
with open("video.mp4", "rb") as f:
video_b64 = base64.standard_b64encode(f.read()).decode("utf-8")

response = client.chat.completions.create(
model="system.ai.gemini-3-1-pro",
messages=[{
"role": "user",
"content": [
{"type": "text", "text": "Summarize what happens in these videos."},
{
"type": "video_url",
"video_url": {"url": "https://example.com/sample-video.mp4"}
},
{
"type": "video_url",
"video_url": {"url": f"data:video/mp4;base64,{video_b64}"}
},
]
}],
max_tokens=1024
)

print(response.choices[0].message.content)

Entrada de áudio

Python
import os
import base64
from openai import OpenAI

DATABRICKS_TOKEN = os.environ.get('DATABRICKS_TOKEN')
DATABRICKS_BASE_URL = os.environ.get('DATABRICKS_BASE_URL')

client = OpenAI(
api_key=DATABRICKS_TOKEN,
base_url=DATABRICKS_BASE_URL
)

# Encode a local audio file as base64
with open("audio.mp3", "rb") as f:
audio_b64 = base64.standard_b64encode(f.read()).decode("utf-8")

response = client.chat.completions.create(
model="system.ai.gemini-3-1-pro",
messages=[{
"role": "user",
"content": [
{"type": "text", "text": "Transcribe this audio and summarize the key points."},
{
"type": "audio_url",
"audio_url": {"url": "https://example.com/sample-audio.mp3"}
},
{
"type": "audio_url",
"audio_url": {"url": f"data:audio/mp3;base64,{audio_b64}"}
},
]
}],
max_tokens=1024
)

print(response.choices[0].message.content)

API Gemini do Google

Use a API Google Gemini para passar mídia como inlineData (codificada em base64) ou fileData (referência de URL) dentro da matriz parts .

Entrada de vídeo

Python
from google import genai
from google.genai import types
import base64
import os

DATABRICKS_TOKEN = os.environ.get('DATABRICKS_TOKEN')

client = genai.Client(
api_key="databricks",
http_options=types.HttpOptions(
base_url="https://example.staging.cloud.databricks.com/serving-endpoints/gemini",
headers={
&quot;Authorization&quot;: f&quot;Bearer {DATABRICKS_TOKEN}&quot;,
},
),
)

# Encode a local video file as base64
with open("video.mp4", "rb") as f:
video_b64 = base64.standard_b64encode(f.read()).decode("utf-8")

response = client.models.generate_content(
model="databricks-gemini-3-1-pro",
contents=[
types.Content(
role="user",
parts=[
types.Part(text="Summarize what happens in these videos."),
types.Part(
file_data=types.FileData(
mime_type="video/mp4",
file_uri="https://example.com/sample-video.mp4",
)
),
types.Part(
inline_data=types.Blob(
mime_type="video/mp4",
data=video_b64,
)
),
],
),
],
config=types.GenerateContentConfig(
max_output_tokens=1024,
),
)

print(response.text)

Entrada de áudio

Python
from google import genai
from google.genai import types
import base64
import os

DATABRICKS_TOKEN = os.environ.get('DATABRICKS_TOKEN')

client = genai.Client(
api_key="databricks",
http_options=types.HttpOptions(
base_url="https://example.staging.cloud.databricks.com/serving-endpoints/gemini",
headers={
&quot;Authorization&quot;: f&quot;Bearer {DATABRICKS_TOKEN}&quot;,
},
),
)

# Encode a local audio file as base64
with open("audio.mp3", "rb") as f:
audio_b64 = base64.standard_b64encode(f.read()).decode("utf-8")

response = client.models.generate_content(
model="databricks-gemini-3-1-pro",
contents=[
types.Content(
role="user",
parts=[
types.Part(text="Transcribe this audio and summarize the key points."),
types.Part(
file_data=types.FileData(
mime_type="audio/mp3",
file_uri="https://example.com/sample-audio.mp3",
)
),
types.Part(
inline_data=types.Blob(
mime_type="audio/mp3",
data=audio_b64,
)
),
],
),
],
config=types.GenerateContentConfig(
max_output_tokens=1024,
),
)

print(response.text)

Modelos suportados

As entradas de áudio e vídeo são suportadas nos seguintes modelos de pagamento por token da plataforma Gemini. Consulte a disponibilidade por região nas APIs de modelos de base hospedadas no Databricks .

  • databricks-gemini-3-1-pro
  • databricks-gemini-3-pro
  • databricks-gemini-2-5-pro
  • databricks-gemini-3-1-flash-lite
  • databricks-gemini-3-flash
  • databricks-gemini-2-5-flash

Limitações

  • As entradas de áudio e vídeo estão disponíveis apenas nos modelos de pagamento por token da Gemini. O endpoint de provisionamento Taxa de transferência não é suportado.
  • É possível incluir várias entradas de áudio ou vídeo em uma única solicitação, mas arquivos grandes aumentam a latência e o uso de tokens.

Recursos adicionais