Sample code for 30+ languages & platforms
Unicode C

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 Unicode C Downloads

Unicode C
#include <C_CkAiW.h>
#include <C_CkStringBuilderW.h>

void ChilkatSample(void)
    {
    BOOL success;
    HCkAiW ai;
    const wchar_t *file_id;
    HCkStringBuilderW sbResponse;

    success = FALSE;

    success = FALSE;

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

    ai = CkAiW_Create();

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

    // Use your provider's API key.
    CkAiW_putApiKey(ai,L"MY_API_KEY");

    // Choose a model.
    CkAiW_putModel(ai,L"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 = L"file-5CnBeuFasqNcAfti3cx4Fe";
    CkAiW_InputAddImageFileId(ai,file_id,L"application/json");

    CkAiW_InputAddText(ai,L"What is in this image?");

    // Ask the AI for text output.
    success = CkAiW_Ask(ai,L"text");
    if (success == FALSE) {
        wprintf(L"%s\n",CkAiW_lastErrorText(ai));
        CkAiW_Dispose(ai);
        return;
    }

    // Get the text response.
    sbResponse = CkStringBuilderW_Create();
    CkAiW_GetOutputTextSb(ai,sbResponse);
    wprintf(L"%s\n",CkStringBuilderW_getAsString(sbResponse));


    CkAiW_Dispose(ai);
    CkStringBuilderW_Dispose(sbResponse);

    }