Sample code for 30+ languages & platforms
Lua Requires Chilkat v11.2.0+

Multimodal Input: Image Data

See more AI Examples

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

Chilkat Lua Downloads

Lua
local chilkat = require("chilkat")

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

local ai = chilkat.Ai.new()

-- The provider can be "openai", "google", "claude", "deepseek", "xai", or "perplexity".
-- Support for additional providers will be added in future versions of Chilkat.
-- xAI (Grok) will be used here..
ai.provider = "xai"

-- Use your provider's API key.
ai.api_key = "MY_API_KEY"

-- Choose a model.
ai.model = "grok-4.5"

-- Add both text input, and image data
ai:input_add_text("Describe what you see in the following image.")

local bd = chilkat.BinData.new()
-- We're passing a relative local file path here.. (relative the the app's current working directory)
local success = bd:load_file("qa_data/jpg/starfish.jpg")
if not success then
    print(bd.last_error_text)
    return
end

ai:input_add_image_data(bd, "")

-- Ask the AI for text output.
success = ai:ask("text")
if not success then
    print(ai.last_error_text)
    return
end

-- Get the text response.
local sbResponse = chilkat.StringBuilder.new()
ai:get_output_text_sb(sbResponse)
print(sbResponse:get_as_string())

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

-- Sample output:

-- The image depicts a small, bright orange starfish (also known as a sea star) with five symmetrical arms radiating from a central disc.
-- It has a textured, bumpy surface that gives it a realistic, almost spiky appearance, and there's a small hole or indentation at the center,
-- which might represent the mouth or a natural feature. The starfish is shown against a plain white background, and it appears to be a simple,
-- illustrative or clipart-style graphic rather than a photograph.