Interfejs Gemini API obsługuje przesyłanie plików multimedialnych niezależnie od danych wejściowych promptu, co umożliwia ponowne wykorzystywanie multimediów w wielu żądaniach i promptach. Więcej informacji znajdziesz w przewodniku Wyświetlanie promptów przy użyciu multimediów.
Metoda: media.upload
Tworzy File
.
Punkt końcowy
- Identyfikator URI przesyłania dla żądań przesłania multimediów:
https://generativelanguage.googleapis.com/upload/v1beta/files
,
- Identyfikator URI metadanych w przypadku żądań tylko metadanych:
https://generativelanguage.googleapis.com/v1beta/files
,
.
Treść żądania
Treść żądania zawiera dane o następującej strukturze:
file
object (File
)
Opcjonalnie: Metadane pliku do utworzenia.
Przykładowe żądanie
Obraz
Python
Node.js
Przeczytaj
Pudrowy róż
Dźwięk
Python
Node.js
Przeczytaj
Pudrowy róż
Tekst
Python
Node.js
Przeczytaj
Pudrowy róż
Wideo
Python
Node.js
Przeczytaj
Pudrowy róż
Python
Metoda: files.get
Pobiera metadane dotyczące określonego zasobu (File
).
Punkt końcowy
pobierz
https://generativelanguage.googleapis.com/v1beta/{name=files/*}
Parametry ścieżki
name
string
Wymagane. Nazwa elementu File
do pobrania. Przykład: files/abc-123
przybiera postać files/{file}
.
Treść żądania
Treść żądania musi być pusta.
Przykładowe żądanie
Python
Node.js
Przeczytaj
Pudrowy róż
Treść odpowiedzi
W przypadku powodzenia treść odpowiedzi obejmuje wystąpienie elementu File
.
Metoda: files.list
Zawiera listę metadanych elementów File
należących do projektu, który wysłał żądanie.
Punkt końcowy
pobierz
https://generativelanguage.googleapis.com/v1beta/files
Parametry zapytania
pageSize
integer
Opcjonalnie: Maksymalna liczba wartości File
do zwrócenia na stronę. Jeśli nie określono inaczej, domyślna wartość to 10. Maksymalnie pageSize
to 100.
pageToken
string
Opcjonalnie: Token strony z poprzedniego wywołania funkcji files.list
.
Treść żądania
Treść żądania musi być pusta.
Przykładowe żądanie
Python
Node.js
Przeczytaj
Pudrowy róż
Treść odpowiedzi
Odpowiedź na pytanie „files.list
”.
W przypadku powodzenia treść żądania zawiera dane o następującej strukturze:
files[]
object (File
)
Lista elementów typu File
.
nextPageToken
string
Token, który można wysłać jako pageToken
w kolejnym wywołaniu files.list
.
Zapis JSON |
---|
{
"files": [
{
object ( |
Metoda: files.delete
Usuwa File
.
Punkt końcowy
usuń
https://generativelanguage.googleapis.com/v1beta/{name=files/*}
Parametry ścieżki
name
string
Wymagane. Nazwa elementu File
do usunięcia. Przykład: files/abc-123
przybiera postać files/{file}
.
Treść żądania
Treść żądania musi być pusta.
Przykładowe żądanie
Python
Node.js
Przeczytaj
Pudrowy róż
Treść odpowiedzi
Jeśli operacja się uda, treść odpowiedzi będzie pusta.
Zasób REST: files
Zasób: Plik
Plik przesłany do interfejsu API.
name
string
Stała. Identyfikator. Nazwa zasobu File
. Identyfikator (nazwa bez prefiksu „files/”) może zawierać do 40 znaków w postaci małych liter i łączników (-). Identyfikator nie może zaczynać się ani kończyć łącznikiem. Jeśli podczas tworzenia nazwa będzie pusta, zostanie wygenerowana unikalna nazwa. Przykład: files/123-456
displayName
string
Opcjonalnie: Zrozumiała dla człowieka wyświetlana nazwa elementu File
. Wyświetlana nazwa może mieć maksymalnie 512 znaków łącznie ze spacjami. Przykład: „Obraz powitalny”
mimeType
string
Tylko dane wyjściowe. Typ MIME pliku.
sizeBytes
string (int64 format)
Tylko dane wyjściowe. Rozmiar pliku w bajtach.
createTime
string (Timestamp
format)
Tylko dane wyjściowe. Sygnatura czasowa określająca, kiedy obiekt File
został utworzony.
Sygnatura czasowa w RFC3339 UTC „Zulu” z rozdzielczością nanosekundową i maksymalnie 9 cyframi po przecinku. Przykłady: "2014-10-02T15:01:23Z"
i "2014-10-02T15:01:23.045123456Z"
.
updateTime
string (Timestamp
format)
Tylko dane wyjściowe. Sygnatura czasowa ostatniej aktualizacji elementu File
.
Sygnatura czasowa w RFC3339 UTC „Zulu” z rozdzielczością nanosekundową i maksymalnie 9 cyframi po przecinku. Przykłady: "2014-10-02T15:01:23Z"
i "2014-10-02T15:01:23.045123456Z"
.
expirationTime
string (Timestamp
format)
Tylko dane wyjściowe. Sygnatura czasowa określająca, kiedy File
zostanie usunięty. Ustaw tylko wtedy, gdy okres ważności subskrypcji File
jest zaplanowany.
Sygnatura czasowa w RFC3339 UTC „Zulu” z rozdzielczością nanosekundową i maksymalnie 9 cyframi po przecinku. Przykłady: "2014-10-02T15:01:23Z"
i "2014-10-02T15:01:23.045123456Z"
.
sha256Hash
string (bytes format)
Tylko dane wyjściowe. Skrót SHA-256 przesłanych bajtów.
Ciąg zakodowany w formacie base64.
uri
string
Tylko dane wyjściowe. Identyfikator URI File
.
state
enum (State
)
Tylko dane wyjściowe. Stan przetwarzania pliku.
error
object (Status
)
Tylko dane wyjściowe. Stan błędu, jeśli nie udało się przetworzyć pliku.
metadata
. Metadane pliku. metadata
może mieć tylko jedną z tych wartości:
videoMetadata
object (VideoMetadata
)
Tylko dane wyjściowe. Metadane filmu
Zapis JSON |
---|
{ "name": string, "displayName": string, "mimeType": string, "sizeBytes": string, "createTime": string, "updateTime": string, "expirationTime": string, "sha256Hash": string, "uri": string, "state": enum ( |
VideoMetadata
Metadane filmu File
.
videoDuration
string (Duration
format)
Czas trwania filmu.
Czas trwania w sekundach składający się z maksymalnie 9 cyfr po przecinku i kończący się „s
”. Przykład: "3.5s"
.
Zapis JSON |
---|
{ "videoDuration": string } |
Stan
Stany cyklu życia pliku.
Wartości w polu enum | |
---|---|
STATE_UNSPECIFIED |
Wartość domyślna. Ta wartość jest używana w przypadku pominięcia stanu. |
PROCESSING |
Plik jest przetwarzany i nie można jeszcze używać go do wnioskowania. |
ACTIVE |
Plik został przetworzony i można go wnioskować. |
FAILED |
Nie udało się przetworzyć pliku. |
Stan
Typ Status
określa logiczny model błędów odpowiedni dla różnych środowisk programowania, w tym interfejsów API typu REST i RPC. Jest używany przez gRPC. Każdy komunikat Status
zawiera 3 elementy danych: kod błędu, komunikat o błędzie i szczegóły błędu.
Więcej informacji na temat tego modelu błędów i sposobu jego działania znajdziesz w przewodniku API Design Guide (w języku angielskim).
code
integer
Kod stanu, który powinien być wartością wyliczeniową równą google.rpc.Code
.
message
string
komunikat o błędzie widoczny dla dewelopera. Powinien być w języku angielskim; Każdy komunikat o błędzie widoczny dla użytkowników powinien zostać zlokalizowany i wysłany w polu google.rpc.Status.details
lub zlokalizowany przez klienta.
details[]
object
Lista komunikatów ze szczegółami błędu. Istnieje typowy zestaw typów wiadomości, których mogą używać interfejsy API.
Obiekt zawierający pola dowolnego typu. Dodatkowe pole "@type"
zawiera identyfikator URI identyfikujący typ. Przykład: { "id": 1234, "@type": "types.example.com/standard/id" }
.
Zapis JSON |
---|
{ "code": integer, "message": string, "details": [ { "@type": string, field1: ..., ... } ] } |