Sample code for 30+ languages & platforms
Visual FoxPro

Multimodal Input: File Data

See more AI Examples

Demonstrates sending a request that includes both text and PDF file data for the AI to analyze.

Note: At the time of writing this example, xAI, Perplexity, and DeepSeek do not have the ability to accept non-image multimodal data or URLs.

Chilkat Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loAi
LOCAL loBd
LOCAL loSbResponse

lnSuccess = 0

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

loAi = CreateObject('Chilkat.Ai')

*  The provider can be "openai", "google", or "claude".
*  At the time of writing this example, "deepseek", "xai", and "perplexity" do not have the ability to process non-image multimodal inputs.
*  Support for additional providers will be added in future versions of Chilkat.
loAi.Provider = "claude"

*  Use your provider's API key.
loAi.ApiKey = "MY_API_KEY"

*  Choose a model.
loAi.Model = "claude-opus-5"

*  Add both text input, and PDF file data.
loAi.InputAddText("What is in this file?")

loBd = CreateObject('Chilkat.BinData')
*  We're passing a relative local file path here.. (relative the the app's current working directory)
lnSuccess = loBd.LoadFile("qa_data/pdf/shakespeare.pdf")
IF (lnSuccess = 0) THEN
    ? loBd.LastErrorText
    RELEASE loAi
    RELEASE loBd
    CANCEL
ENDIF

*  Provide the filename in the 1st argument.  The file extension is important to indicate the type of file.
loAi.InputAddFileData("shakespeare.pdf",loBd,"")

*  Ask the AI for text output.
lnSuccess = loAi.Ask("text")
IF (lnSuccess = 0) THEN
    ? loAi.LastErrorText
    RELEASE loAi
    RELEASE loBd
    CANCEL
ENDIF

*  Get the text response.
loSbResponse = CreateObject('Chilkat.StringBuilder')
loAi.GetOutputTextSb(loSbResponse)
? loSbResponse.GetAsString()

*  -------------------------------------------------------------
*  The response is in markdown format.
*  Also see Markdown to HTML Conversion Examples.
*  -------------------------------------------------------------

*  Sample output:

*  This PDF file contains a famous quote from William Shakespeare's "Romeo and Juliet". The quote appears twice on the page:
*  
*  "These violent delights have violent ends
*  And in their triumph die, like fire and powder,
*  Which as they kiss consume. The sweetest honey
*  Is loathsome in his own deliciousness
*  And in the taste confounds the appetite.
*  Therefore love moderately; long love doth so;
*  Too swift arrives as tardy as too slow."
*  
*  The file also includes a portrait image of William Shakespeare. This particular quote is spoken by Friar Lawrence in the play, warning about the dangers of passionate, 
*  immoderate love - suggesting that love that burns too intensely tends to burn out quickly, just as fire and gunpowder consume each other when they meet.

RELEASE loAi
RELEASE loBd
RELEASE loSbResponse