Tcl
Tcl
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 Tcl Downloads
load ./chilkat.dll
set success 0
set success 0
# This example assumes the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
set ai [new_CkAi]
# 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).
CkAi_put_Provider $ai "openai"
# Use your provider's API key.
CkAi_put_ApiKey $ai "MY_API_KEY"
# Choose a model.
CkAi_put_Model $ai "gpt-5-mini"
# 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.
set file_id "file-5G2xncrEiHbVfYPRpFgP9c"
CkAi_InputAddFileId $ai $file_id "application/json"
CkAi_InputAddText $ai "Explain why Hamlet delays taking revenge, using only evidence from the file."
# Ask the AI for text output.
set success [CkAi_Ask $ai "text"]
if {$success == 0} then {
puts [CkAi_lastErrorText $ai]
delete_CkAi $ai
exit
}
# Get the text response.
set sbResponse [new_CkStringBuilder]
CkAi_GetOutputTextSb $ai $sbResponse
puts [CkStringBuilder_getAsString $sbResponse]
delete_CkAi $ai
delete_CkStringBuilder $sbResponse