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.6-luna")

    ;  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