Requires network access to the configured LLM provider and a valid API key in the host environment. ```r title="R" library(kreuzberg) schema <- list( type = "object", properties = list( title = list(type = "string"), authors = list(type = "array", items = list(type = "string")), date = list(type = "string") ), required = c("title", "authors", "date"), additionalProperties = FALSE ) config <- list( structured_extraction = list( schema = schema, llm = list(model = "openai/gpt-4o-mini"), strict = TRUE ) ) json <- extract_file_sync("paper.pdf", "application/pdf", config) result <- jsonlite::fromJSON(json, simplifyVector = FALSE) cat(result$structured_output, "\n") ```