Sample code for 30+ languages & platforms
PureBasic

Referencing a Pre-Uploaded Image File by file_id in an AI Request

See more AI Examples

Currently, OpenAI is the only AI provider that supports referencing a pre-uploaded image in a request for text generation.

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkAi.pb"
IncludeFile "CkStringBuilder.pb"

Procedure ChilkatExample()

    success.i = 0

    success = 0

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

    ai.i = CkAi::ckCreate()
    If ai.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    ; OpenAI is currently the only AI provider that supports referencing a pre-uploaded image by file_id
    ; in a request for text generation.
    CkAi::setCkProvider(ai, "openai")

    ; Use your provider's API key.
    CkAi::setCkApiKey(ai, "MY_API_KEY")

    ; Choose a model.
    CkAi::setCkModel(ai, "gpt-5-mini")

    ; See the following example showing how to upload a file
    ; Upload an Image File to an AI Provider

    ; Use the file_id of the pre-uploaded file.
    file_id.s = "file-5CnBeuFasqNcAfti3cx4Fe"
    CkAi::ckInputAddImageFileId(ai,file_id,"application/json")

    CkAi::ckInputAddText(ai,"What is in this image?")

    ; Ask the AI for text output.
    success = CkAi::ckAsk(ai,"text")
    If success = 0
        Debug CkAi::ckLastErrorText(ai)
        CkAi::ckDispose(ai)
        ProcedureReturn
    EndIf

    ; Get the text response.
    sbResponse.i = CkStringBuilder::ckCreate()
    If sbResponse.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkAi::ckGetOutputTextSb(ai,sbResponse)
    Debug CkStringBuilder::ckGetAsString(sbResponse)


    CkAi::ckDispose(ai)
    CkStringBuilder::ckDispose(sbResponse)


    ProcedureReturn
EndProcedure