A API Gemini oferece suporte ao upload de arquivos de mídia separadamente da entrada do comando, permitindo que sua mídia seja reutilizada em várias solicitações e vários comandos. Para mais detalhes, confira o guia Como criar comandos com mídia.
Método: media.upload
Cria uma File
.
Endpoint
- URI de upload, para solicitações de upload de mídia:
- URI de metadados, para solicitações somente de metadados:
Corpo da solicitação
O corpo da solicitação contém dados com a seguinte estrutura:
file
object (File
)
Opcional. Metadados do arquivo a ser criado.
Exemplo de solicitação
Imagem
Python
Node.js
Go
Concha
Áudio
Python
Node.js
Go
Concha
Texto
Python
Node.js
Go
Concha
Vídeo
Python
Node.js
Go
Concha
Python
Método: files.get
Recebe os metadados para o File
especificado.
Endpoint
get https://generativelanguage.googleapis.com/v1beta/{name=files/*}Parâmetros de caminho
name
string
Obrigatório. O nome da File
a ser recebida. Exemplo: files/abc-123
. Ele assume o formato files/{file}
.
Corpo da solicitação
O corpo da solicitação precisa estar vazio.
Exemplo de solicitação
Python
Node.js
Go
Concha
Corpo da resposta
Se a solicitação for bem-sucedida, o corpo da resposta conterá uma instância de File
.
Método: files.list
Lista os metadados de File
s pertencentes ao projeto solicitante.
Endpoint
recebe https://generativelanguage.googleapis.com/v1beta/filesParâmetros de consulta
pageSize
integer
Opcional. Número máximo de File
s retornados por página. Se não for especificado, o padrão será 10. O valor máximo de pageSize
é 100.
pageToken
string
Opcional. Um token de página de uma chamada files.list
anterior.
Corpo da solicitação
O corpo da solicitação precisa estar vazio.
Exemplo de solicitação
Python
Node.js
Go
Concha
Corpo da resposta
Resposta para files.list
.
Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:
files[]
object (File
)
A lista de File
s.
nextPageToken
string
Um token que pode ser enviado como pageToken
em uma chamada files.list
subsequente.
Representação JSON |
---|
{
"files": [
{
object ( |
Método: files.delete
Exclui o File
.
Endpoint
excluir https://generativelanguage.googleapis.com/v1beta/{name=files/*}Parâmetros de caminho
name
string
Obrigatório. O nome do File
a ser excluído. Exemplo: files/abc-123
Ele assume a forma files/{file}
.
Corpo da solicitação
O corpo da solicitação precisa estar vazio.
Exemplo de solicitação
Python
Node.js
Go
Concha
Corpo da resposta
Se a solicitação for concluída, o corpo da resposta estará vazio.
Recurso REST: files
Recurso: arquivo
Um arquivo enviado para a API.
name
string
Imutável. Identificador. O nome do recurso File
. O ID (nome excluindo o prefixo "files/") pode conter até 40 caracteres alfanuméricos minúsculos ou hifens (-). O ID não pode começar ou terminar com um hífen. Se o nome estiver vazio, um nome exclusivo será gerado. Exemplo: files/123-456
displayName
string
Opcional. O nome de exibição legível para o File
. O nome de exibição não pode ter mais de 512 caracteres, incluindo espaços. Exemplo: "Imagem de boas-vindas"
mimeType
string
Apenas saída. Tipo MIME do arquivo.
sizeBytes
string (int64 format)
Apenas saída. Tamanho do arquivo em bytes.
createTime
string (Timestamp
format)
Apenas saída. O carimbo de data/hora de quando o File
foi criado.
Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z"
e "2014-10-02T15:01:23.045123456Z"
.
updateTime
string (Timestamp
format)
Apenas saída. O carimbo de data/hora de quando o File
foi atualizado pela última vez.
Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z"
e "2014-10-02T15:01:23.045123456Z"
.
expirationTime
string (Timestamp
format)
Apenas saída. O carimbo de data/hora em que o File
será excluído. Só será definido se a expiração do File
estiver programada.
Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z"
e "2014-10-02T15:01:23.045123456Z"
.
sha256Hash
string (bytes format)
Apenas saída. O hash SHA-256 dos bytes enviados.
Uma string codificada em base64.
uri
string
Apenas saída. O URI do File
.
state
enum (State
)
Apenas saída. Estado de processamento do arquivo.
error
object (Status
)
Apenas saída. Status de erro se o processamento do arquivo falhar.
metadata
. Metadados do arquivo. metadata
pode ser apenas de um dos tipos a seguir:
videoMetadata
object (VideoMetadata
)
Apenas saída. Metadados de um vídeo.
Representação JSON |
---|
{ "name": string, "displayName": string, "mimeType": string, "sizeBytes": string, "createTime": string, "updateTime": string, "expirationTime": string, "sha256Hash": string, "uri": string, "state": enum ( |
VideoMetadata
Metadados de um vídeo File
.
videoDuration
string (Duration
format)
Duração do vídeo.
Duração em segundos com até nove dígitos fracionários, terminando em "s
". Exemplo: "3.5s"
.
Representação JSON |
---|
{ "videoDuration": string } |
Estado
Estados do ciclo de vida de um arquivo.
Enums | |
---|---|
STATE_UNSPECIFIED |
O valor padrão. Esse valor é usado se o estado for omitido. |
PROCESSING |
O arquivo está sendo processado e ainda não pode ser usado para inferência. |
ACTIVE |
O arquivo é processado e fica disponível para inferência. |
FAILED |
Falha no processamento do arquivo. |
Status
O tipo Status
define um modelo de erro lógico que é adequado a diferentes ambientes de programação, incluindo APIs REST e RPC. É usado por gRPC (em inglês). Cada mensagem Status
contém três partes de dados: código do erro, mensagem de erro e detalhes do erro.
É possível descobrir mais sobre esse modelo de erro e como trabalhar com ele no Guia de design de API.
code
integer
O código de status, que precisa ser um valor de enumeração de google.rpc.Code
.
message
string
Uma mensagem de erro em inglês para o desenvolvedor. Qualquer mensagem de erro para o usuário precisa ser localizada e enviada no campo google.rpc.Status.details
, ou localizada pelo cliente.
details[]
object
Uma lista de mensagens com os detalhes do erro. Há um conjunto comum de tipos de mensagens para as APIs usarem.
Um objeto contendo campos de um tipo arbitrário. Um campo adicional "@type"
contém uma URI que identifica o tipo. Exemplo: { "id": 1234, "@type": "types.example.com/standard/id" }
.
Representação JSON |
---|
{ "code": integer, "message": string, "details": [ { "@type": string, field1: ..., ... } ] } |