Contents

ImageReference

A reference to an image in a session’s transcript.

Declaration

struct ImageReference

Mentioned in

Overview

Use ImageReference to allow the model to reference images from the transcript of the current LanguageModelSession.

You can define an ImageReference as an argument to a Tool. Retrieve the referenced image from the transcript during the tool call.

struct MyTool: Tool {
  @SessionProperty(\.history) var history

  @Generable
  struct Arguments {
    var image: ImageReference
  }

  public func call(arguments: Arguments) async throws -> Output {
    guard let imageAttachment = arguments.image.resolved(in: history) else {
      throw ImageToolError.imageNotFound(arguments.image.attachmentLabel)
    }
    let image = imageAttachment.cgImage
    ...
  }
}

Topics

Getting the image label

Accessing the referenced image

Default Implementations

See Also

Prompt attachments