Skip to content
lumalabs.ai

Get a file

client.Files.Get(ctx, fileID) (*File, error)
GET/files/{file_id}

Retrieve metadata for a single file in your namespace.

ParametersExpand Collapse
fileID string
formatuuid
ReturnsExpand Collapse
type File struct{…}

A file in the caller's namespace.

ID string

File identifier, referenced as ImageRef.file_id.

formatuuid
CreatedAt Time

Creation timestamp.

formatdate-time
MimeType string

MIME type of the stored bytes (for example, image/jpeg).

Purpose FilePurpose

How the file is intended to be used in a generation. input is the primary subject (e.g. the source image for an edit); reference is style/content guidance.

One of the following:
const FilePurposeInput FilePurpose = "input"
const FilePurposeReference FilePurpose = "reference"
SizeBytes int64

Size of the stored object in bytes.

State FileState

Lifecycle state of an uploaded file. pending until bytes are received and the ingest pipeline runs; ready once it can be referenced from a generation; failed if ingest/moderation rejected it; deleted after a soft-delete.

One of the following:
const FileStatePending FileState = "pending"
const FileStateReady FileState = "ready"
const FileStateFailed FileState = "failed"
const FileStateDeleted FileState = "deleted"
DeletedAt Timeoptional

Soft-delete timestamp, if the file was deleted.

formatdate-time
ExpiresAt Timeoptional

TTL set at upload, if any. After this time Luma may automatically delete the file and reclaim its bytes — you don't need to call DELETE yourself.

formatdate-time
FailureReason stringoptional

Human-readable reason when state is failed.

Filename stringoptional

Original filename supplied at upload, if any.

UserID stringoptional

The opaque end-user tag supplied at upload, echoed back unchanged. Abuse-attribution only; not an access-control primitive.

Get a file

package main

import (
  "context"
  "fmt"

  "github.com/lumalabs/luma-agents-go"
  "github.com/lumalabs/luma-agents-go/option"
)

func main() {
  client := lumaagents.NewClient(
    option.WithAuthToken("My Auth Token"),
  )
  file, err := client.Files.Get(context.TODO(), "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", file.ID)
}
{
  "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
  "created_at": "2019-12-27T18:11:19.117Z",
  "mime_type": "mime_type",
  "purpose": "input",
  "size_bytes": 0,
  "state": "pending",
  "deleted_at": "2019-12-27T18:11:19.117Z",
  "expires_at": "2019-12-27T18:11:19.117Z",
  "failure_reason": "failure_reason",
  "filename": "filename",
  "user_id": "user_id"
}
Returns Examples
{
  "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
  "created_at": "2019-12-27T18:11:19.117Z",
  "mime_type": "mime_type",
  "purpose": "input",
  "size_bytes": 0,
  "state": "pending",
  "deleted_at": "2019-12-27T18:11:19.117Z",
  "expires_at": "2019-12-27T18:11:19.117Z",
  "failure_reason": "failure_reason",
  "filename": "filename",
  "user_id": "user_id"
}