Gemini API는 프롬프트 입력과 별도로 미디어 파일 업로드를 지원하므로 여러 요청과 여러 프롬프트에서 미디어를 재사용할 수 있습니다. 자세한 내용은 미디어를 사용한 프롬프트 가이드를 참고하세요.
메서드: media.upload
File
를 만듭니다.
엔드포인트
- 미디어 업로드 요청을 위한 업로드 URI:
https: / /generativelanguage.googleapis.com /upload /v1beta /files
- 메타데이터 전용 요청을 위한 메타데이터 URI:
https: / /generativelanguage.googleapis.com /v1beta /files
URL은 gRPC 트랜스코딩 문법을 사용합니다.
요청 본문
요청 본문에는 다음과 같은 구조의 데이터가 포함됩니다.
file
object (File
)
선택사항입니다. 만들 파일의 메타데이터입니다.
요청 예시
이미지
Python
Node.js
Go
Shell
오디오
Python
Node.js
Go
Shell
텍스트
Python
Node.js
Go
Shell
동영상
Python
Node.js
Go
Shell
Python
메서드: files.get
지정된 File
의 메타데이터를 가져옵니다.
엔드포인트
가져오기https: / /generativelanguage.googleapis.com /v1beta /{name=files /*}
URL은 gRPC 트랜스코딩 문법을 사용합니다.
경로 매개변수
name
string
필수 항목입니다. 가져올 File
의 이름입니다. 예: files/abc-123
files/{file}
형식입니다.
요청 본문
요청 본문은 비어 있어야 합니다.
요청 예시
Python
Node.js
Go
Shell
응답 본문
성공한 경우 응답 본문에 File
의 인스턴스가 포함됩니다.
메서드: files.list
요청하는 프로젝트에서 소유한 File
의 메타데이터를 나열합니다.
엔드포인트
가져오기https: / /generativelanguage.googleapis.com /v1beta /files
URL은 gRPC 트랜스코딩 문법을 사용합니다.
쿼리 매개변수
pageSize
integer
선택사항입니다. 페이지당 반환할 최대 File
수입니다. 지정하지 않으면 기본값은 10입니다. 최대 pageSize
는 100입니다.
pageToken
string
선택사항입니다. 이전 files.list
호출의 페이지 토큰입니다.
요청 본문
요청 본문은 비어 있어야 합니다.
요청 예시
Python
Node.js
Go
Shell
메서드: files.delete
File
를 삭제합니다.
엔드포인트
삭제https: / /generativelanguage.googleapis.com /v1beta /{name=files /*}
URL은 gRPC 트랜스코딩 문법을 사용합니다.
경로 매개변수
name
string
필수 항목입니다. 삭제할 File
의 이름입니다. 예: files/abc-123
files/{file}
형식입니다.
요청 본문
요청 본문은 비어 있어야 합니다.
요청 예시
Python
Node.js
Go
Shell
응답 본문
성공한 경우 응답 본문은 비어 있습니다.
REST 리소스: 파일
리소스: 파일
API에 업로드된 파일입니다. 다음 ID: 15
name
string
변경할 수 없습니다. 식별자. File
리소스 이름입니다. ID('files/' 접두사를 제외한 이름)는 소문자 영숫자 또는 대시(-)로 최대 40자(영문 기준)를 포함할 수 있습니다. ID는 대시로 시작하거나 끝나서는 안 됩니다. 만들 때 이름이 비어 있으면 고유한 이름이 생성됩니다. 예를 들면 files/123-456
입니다.
displayName
string
선택사항입니다. 사람이 읽을 수 있는 File
의 표시 이름입니다. 표시 이름은 공백을 포함하여 512자(영문 기준) 이하여야 합니다. 예: '환영 이미지'
mimeType
string
출력 전용입니다. 파일의 MIME 유형입니다.
sizeBytes
string (int64 format)
출력 전용입니다. 파일 크기(바이트)
createTime
string (Timestamp
format)
출력 전용입니다. File
가 생성된 시점의 타임스탬프입니다.
RFC3339 UTC 'Zulu' 형식의 타임스탬프입니다(나노초 단위, 소수점 이하 9자리). 예를 들면 "2014-10-02T15:01:23Z"
및 "2014-10-02T15:01:23.045123456Z"
입니다.
updateTime
string (Timestamp
format)
출력 전용입니다. File
가 마지막으로 업데이트된 타임스탬프입니다.
RFC3339 UTC 'Zulu' 형식의 타임스탬프입니다(나노초 단위, 소수점 이하 9자리). 예를 들면 "2014-10-02T15:01:23Z"
및 "2014-10-02T15:01:23.045123456Z"
입니다.
expirationTime
string (Timestamp
format)
출력 전용입니다. File
가 삭제될 시점의 타임스탬프입니다. File
의 만료가 예약된 경우에만 설정됩니다.
RFC3339 UTC 'Zulu' 형식의 타임스탬프입니다(나노초 단위, 소수점 이하 9자리). 예를 들면 "2014-10-02T15:01:23Z"
및 "2014-10-02T15:01:23.045123456Z"
입니다.
sha256Hash
string (bytes format)
출력 전용입니다. 업로드된 바이트의 SHA-256 해시입니다.
base64 인코딩 문자열입니다.
uri
string
출력 전용입니다. File
의 URI입니다.
state
enum (State
)
출력 전용입니다. 파일의 처리 상태입니다.
error
object (Status
)
출력 전용입니다. 파일 처리에 실패한 경우의 오류 상태입니다.
metadata
Union type
metadata
는 다음 중 하나여야 합니다.videoMetadata
object (VideoMetadata
)
출력 전용입니다. 동영상의 메타데이터입니다.
JSON 표현 |
---|
{ "name": string, "displayName": string, "mimeType": string, "sizeBytes": string, "createTime": string, "updateTime": string, "expirationTime": string, "sha256Hash": string, "uri": string, "state": enum ( |
VideoMetadata
동영상 File
의 메타데이터입니다.
videoDuration
string (Duration
format)
동영상 길이입니다.
소수점 아래가 최대 9자리까지이고 's
'로 끝나는 초 단위 기간입니다. 예를 들면 "3.5s"
입니다.
JSON 표현 |
---|
{ "videoDuration": string } |
주
파일의 수명 주기에 관한 상태입니다.
열거형 | |
---|---|
STATE_UNSPECIFIED |
기본값입니다. 이 값은 상태가 생략된 경우에 사용됩니다. |
PROCESSING |
파일이 처리 중이며 아직 추론에 사용할 수 없습니다. |
ACTIVE |
파일이 처리되어 추론에 사용할 수 있습니다. |
FAILED |
파일 처리에 실패했습니다. |
상태
Status
유형은 REST API, RPC API를 비롯하여 다양한 프로그래밍 환경에 적합한 논리적 오류 모델을 정의하며, gRPC에서 사용됩니다. 각 Status
메시지에는 오류 코드, 오류 메시지, 오류 세부정보라는 3가지 데이터가 포함됩니다.
API 설계 가이드에서 이 오류 모델과 모델 작업 방법에 대해 자세히 알아볼 수 있습니다.
code
integer
상태 코드로, google.rpc.Code
의 열거형 값이어야 합니다.
message
string
개발자에게 정보를 제공하는 오류 메시지로, 영어로 작성되어야 합니다. 사용자에게 표시되는 모든 오류 메시지는 현지화되어 google.rpc.Status.details
필드에 전송되거나, 클라이언트 측에서 현지화되어야 합니다.
details[]
object
오류 세부정보를 설명하는 메시지 목록입니다. API에서 사용할 일반적인 메시지 유형 집합이 있습니다.
임의 유형의 필드를 포함하는 객체입니다. 추가 필드 "@type"
은 유형을 식별하는 URI를 포함합니다. 예: { "id": 1234, "@type": "types.example.com/standard/id" }
JSON 표현 |
---|
{ "code": integer, "message": string, "details": [ { "@type": string, field1: ..., ... } ] } |