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 da base Gemini no Databricks. Você pode fornecer mídia como uma URL ou como dados embutidos codificados em base64 usando a APIChat Completions ou a APIGoogle Gemini.

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>).

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="databricks-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="databricks-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={
"Authorization": f"Bearer {DATABRICKS_TOKEN}",
},
),
)

# 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={
"Authorization": f"Bearer {DATABRICKS_TOKEN}",
},
),
)

# 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 básicos do Gemini Pro com pagamento por tokens. 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

Limitações

  • As entradas de áudio e vídeo estão disponíveis apenas nos modelos básicos Gemini Pro com pagamento por token. 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