Lua Requires Chilkat v11.4.0+
Lua
Referencing a Pre-Uploaded File by file_id in an AI Request
See more AI Examples
Some AI proviers have aFiles API that lets you upload content once and then reference it later in generation requests using a file_id. This is especially useful for large documents, reuse across multiple prompts, or keeping inputs structured and separate from your prompt text.
This example demonstrates how to use a file_id in a request.
Chilkat Lua Downloads
local chilkat = require("chilkat")
local success = false
-- This example assumes the Chilkat API to have been previously unlocked.
-- See Global Unlock Sample for sample code.
local ai = chilkat.Ai.new()
-- The provider can be "openai", "google", "claude", "mistral", "deepseek", "xai", or any provider
-- that supports referencing pre-uploaded files by a file_id (or file uri).
ai.provider = "openai"
-- Use your provider's API key.
ai.api_key = "MY_API_KEY"
-- Choose a model.
ai.model = "gpt-5.6-luna"
-- See the following example showing how to upload a file
-- Upload a File to an AI Provider (OpenAI, Google, Antropic, X)
-- Use the file_id of the pre-uploaded file.
local file_id = "file-5G2xncrEiHbVfYPRpFgP9c"
ai:input_add_file_id(file_id, "application/json")
ai:input_add_text("Explain why Hamlet delays taking revenge, using only evidence from the file.")
-- Ask the AI for text output.
success = ai:ask("text")
if not success then
print(ai.last_error_text)
return
end
-- Get the text response.
local sbResponse = chilkat.StringBuilder.new()
ai:get_output_text_sb(sbResponse)
print(sbResponse:get_as_string())