Sample code for 30+ languages & platforms
Tcl

OpenAI (ChatGPT) Retrieve File Content

See more OpenAI ChatGPT Examples

Demonstrate how to retrieve the content of a file from OpenAI. Shows how to download to a file, or instead download to a string in memory.

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

# This example assumes the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.

set http [new_CkHttp]

# Adds the "Authorization: Bearer $OPENAI_API_KEY" header.
# This is NOT a real key.  Change the "sk-vi...." to your own key.
CkHttp_put_AuthToken $http "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"

set file_id "file-1H4vJq0H775gQVrjWY5jpp15"

# Download to local file.
set url "https://api.openai.com/v1/files/{$file_id}/content"
CkHttp_SetUrlVar $http "file_id" $file_id

# Note: Free accounts are not able to download files.
# If using a free account, you'll receive an error response:  "To help mitigate abuse, downloading of fine-tune training files is disabled for free accounts."
set success [CkHttp_Download $http $url "c:/aaworkarea/mydata.jsonl"]
if {$success == 0} then {
    puts [CkHttp_lastErrorText $http]
    puts "Failed"
    delete_CkHttp $http
    exit
}

puts "Downloaded OpenAI file to a local file."

# Alternatively, download into a StringBuilder
set sbData [new_CkStringBuilder]

set success [CkHttp_DownloadSb $http $url $sbData "utf-8"]
if {$success == 0} then {
    puts [CkHttp_lastErrorText $http]
    puts "Failed"
    delete_CkHttp $http
    delete_CkStringBuilder $sbData
    exit
}

puts "Downloaded OpenAI file to a StringBuilder"

puts "file content:"
puts [CkStringBuilder_getAsString $sbData]

delete_CkHttp $http
delete_CkStringBuilder $sbData