Gemini API는 프롬프트 입력과 별도로 미디어 파일 업로드를 지원하므로 여러 요청과 여러 프롬프트에서 미디어를 재사용할 수 있습니다. 자세한 내용은 미디어를 사용한 프롬프트 가이드를 참고하세요.
메서드: media.upload
File를 만듭니다.
엔드포인트
- 미디어 업로드 요청을 위한 업로드 URI:
https: / /generativelanguage.googleapis.com /upload /v1beta /files
- 메타데이터 전용 요청을 위한 메타데이터 URI:
https: / /generativelanguage.googleapis.com /v1beta /files
요청 본문
요청 본문에는 다음과 같은 구조의 데이터가 포함됩니다.
file
object (File)
선택사항입니다. 만들 파일의 메타데이터입니다.
요청 예시
이미지
Python
Node.js
Go
Shell
오디오
Python
Node.js
Go
Shell
텍스트
Python
Node.js
Go
Shell
동영상
Python
Node.js
Go
Shell
Python
Go
메서드: files.get
지정된 File의 메타데이터를 가져옵니다.
엔드포인트
gethttps: / /generativelanguage.googleapis.com /v1beta /{name=files /*}
경로 매개변수
name
string
필수 항목입니다. 가져올 File의 이름입니다. 예: files/abc-123 files/{file} 형식이 사용됩니다.
요청 본문
요청 본문은 비어 있어야 합니다.
요청 예시
Python
Node.js
Go
Shell
응답 본문
성공한 경우 응답 본문에 File의 인스턴스가 포함됩니다.
메서드: files.list
요청 프로젝트가 소유한 File의 메타데이터를 나열합니다.
엔드포인트
gethttps: / /generativelanguage.googleapis.com /v1beta /files
쿼리 매개변수
pageSize
integer
선택사항입니다. 페이지당 반환할 최대 File 수입니다. 지정하지 않으면 기본값은 10입니다. 최대 pageSize은 100입니다.
pageToken
string
선택사항입니다. 이전 files.list 호출의 페이지 토큰입니다.
요청 본문
요청 본문은 비어 있어야 합니다.
요청 예시
Python
Node.js
Go
Shell
메서드: files.delete
File을 삭제합니다.
엔드포인트
deletehttps: / /generativelanguage.googleapis.com /v1beta /{name=files /*}
경로 매개변수
name
string
필수 항목입니다. 삭제할 File의 이름입니다. 예: files/abc-123 files/{file} 형식이 사용됩니다.
요청 본문
요청 본문은 비어 있어야 합니다.
요청 예시
Python
Node.js
Go
Shell
응답 본문
성공하면 응답 본문은 빈 JSON 객체입니다.
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이 생성된 시점의 타임스탬프입니다.
생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.
updateTime
string (Timestamp format)
출력 전용입니다. File가 마지막으로 업데이트된 시간의 타임스탬프입니다.
생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.
expirationTime
string (Timestamp format)
출력 전용입니다. File가 삭제되는 시점의 타임스탬프입니다. File가 만료될 예정인 경우에만 설정됩니다.
생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.
sha256Hash
string (bytes format)
출력 전용입니다. 업로드된 바이트의 SHA-256 해시입니다.
base64 인코딩 문자열입니다.
uri
string
출력 전용입니다. File의 URI입니다.
downloadUri
string
출력 전용입니다. File의 다운로드 URI입니다.
state
enum (State)
출력 전용입니다. 파일의 처리 상태입니다.
source
enum (Source)
파일의 소스입니다.
error
object (Status)
출력 전용입니다. 파일 처리가 실패한 경우의 오류 상태입니다.
metadata
Union type
metadata는 다음 중 하나여야 합니다.videoMetadata
object (VideoFileMetadata)
출력 전용입니다. 동영상의 메타데이터입니다.
| JSON 표현 |
|---|
{ "name": string, "displayName": string, "mimeType": string, "sizeBytes": string, "createTime": string, "updateTime": string, "expirationTime": string, "sha256Hash": string, "uri": string, "downloadUri": string, "state": enum ( |
VideoFileMetadata
동영상 File의 메타데이터입니다.
videoDuration
string (Duration format)
동영상 길이입니다.
소수점 아래가 최대 9자리까지이고 's'로 끝나는 초 단위 기간입니다. 예를 들면 "3.5s"입니다.
| JSON 표현 |
|---|
{ "videoDuration": string } |
주
파일의 수명 주기 상태입니다.
| 열거형 | |
|---|---|
STATE_UNSPECIFIED |
기본값입니다. 이 값은 상태가 생략된 경우에 사용됩니다. |
PROCESSING |
파일이 처리 중이므로 아직 추론에 사용할 수 없습니다. |
ACTIVE |
파일이 처리되어 추론에 사용할 수 있습니다. |
FAILED |
파일을 처리할 수 없습니다. |
소스
| 열거형 | |
|---|---|
SOURCE_UNSPECIFIED |
소스를 지정하지 않은 경우 사용됩니다. |
UPLOADED |
사용자가 파일을 업로드했음을 나타냅니다. |
GENERATED |
파일이 Google에서 생성되었음을 나타냅니다. |
REGISTERED |
파일이 등록된 파일(Google Cloud Storage 파일)임을 나타냅니다. |
상태
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: ..., ... } ] } |