Lua Requires Chilkat v11.2.0+
Lua
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
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.