% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/utils.R
\name{describe_image}
\alias{describe_image}
\title{Describe Image Using Vision LLM}
\usage{
describe_image(
  image_base64,
  provider = "gemini",
  model = NULL,
  api_key = NULL,
  prompt =
    "Describe this image: charts, diagrams, tables, and text. Extract visible text.",
  timeout = 120
)
}
\arguments{
\item{image_base64}{Character string of base64-encoded PNG image}

\item{provider}{Character: "openai" or "gemini"}

\item{model}{Character: Model name (uses provider default if NULL)}

\item{api_key}{Character: API key (required for openai/gemini)}

\item{prompt}{Character: Description prompt}

\item{timeout}{Numeric: Request timeout in seconds (default: 120)}
}
\value{
Character string description, or NULL on failure
}
\description{
Unified dispatcher for image description using vision LLMs.
Routes to the appropriate provider (OpenAI or Gemini).
}
\concept{ai}
