Sample code for 30+ languages & platforms
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 C Downloads

C
#include <C_CkAi.h>
#include <C_CkStringBuilder.h>

void ChilkatSample(void)
    {
    BOOL success;
    HCkAi ai;
    const char *file_id;
    HCkStringBuilder sbResponse;

    success = FALSE;

    success = FALSE;

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

    ai = CkAi_Create();

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

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

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

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

    // Ask the AI for text output.
    success = CkAi_Ask(ai,"text");
    if (success == FALSE) {
        printf("%s\n",CkAi_lastErrorText(ai));
        CkAi_Dispose(ai);
        return;
    }

    // Get the text response.
    sbResponse = CkStringBuilder_Create();
    CkAi_GetOutputTextSb(ai,sbResponse);
    printf("%s\n",CkStringBuilder_getAsString(sbResponse));


    CkAi_Dispose(ai);
    CkStringBuilder_Dispose(sbResponse);

    }