Skip to Content

Models

Discover runnable image and video models, capabilities, parameter schemas, and duration estimates.

Base URL: https://app.gavana.ai/api/canvas-agent/v1 · Authentication: HTTP bearer, token format cba_<token-id>.<secret>

Operations

OperationPurposeScopes
GET /modelsList runnable image and video modelsimage:generate?, video:generate?
GET /models/{modelKey}Read an image or video model schemaimage:generate?, video:generate?

GET /models

List runnable image and video models

Returns models Gavana can invoke through the managed runtime or the actor’s saved connections.

  • Operation id: listModels
  • Scopes: Requires at least one of image:generate or video:generate.
  • CLI equivalent: gavana model list

Parameters

ParameterInTypeRequiredNotes
qquerystringNoFree-text model, provider, connection, or capability search. max length 240.
providerquerystringNomax length 80.
capabilityquerystringNoOne of image.generate, image.edit, image.variations, video.generate, video.generate.fromImage, video.generate.fromFrames, video.generate.fromReferences.
limitqueryintegerNoMaximum number of items in this page. min 1, max 100.
cursorquerystringNoOpaque continuation cursor from page.nextCursor. Reuse it with the same list filters. max length 8192.

Responses

StatusPayloadMeaning
200objectRunnable image and video models with typed schemas and pagination.
defaultErrorResponseA stable machine-readable error. The response always includes X-Request-ID.

200 response body

FieldTypeRequiredNotes
modelsarray of ImageModelYes—
models[].idstringYesPattern ^[A-Za-z0-9_-]{8,600}$.
models[].handlestringYesPattern ^model:[A-Za-z0-9_-]{8,600}$.
models[].modelIdstringYesmin length 1, max length 240.
models[].namestringYes—
models[].providerstringYesOne of craftboard, openai, google/nano-banana, black-forest-labs, recraft, ideogram, qwen, openrouter.
models[].providerLabelstringYes—
models[].connectionIdstring | nullYes—
models[].connectionNamestringYes—
models[].typestringYesOne of image, video.
models[].capabilitiesarray of ImageModelCapabilityYesmin items 1.
models[].parametersarray of ImageModelParameterYes—
models[].parameters[].namestringYes—
models[].parameters[].labelstringYes—
models[].parameters[].descriptionstringYes—
models[].parameters[].typestringYesOne of string, integer, number, boolean, string[], image[].
models[].parameters[].requiredbooleanYes—
models[].parameters[].minnumberNo—
models[].parameters[].maxnumberNo—
models[].parameters[].optionsarray of objectNo—
models[].parameters[].options[].labelstringYes—
models[].parameters[].options[].valuestringYes—
models[].parameters[].options[].descriptionstringNo—
models[].parameters[].capabilitiesarray of ImageModelCapabilityYes—
models[].estimatedSecondsintegerYesmin 1.
models[].betabooleanYes—
pageCursorPageYes—
page.limitintegerYesmin 1, max 200.
page.hasMorebooleanYes—
page.nextCursorstring | nullYesmax length 8192.

Example

curl "https://app.gavana.ai/api/canvas-agent/v1/models" \ -H "Authorization: Bearer $GAVANA_AGENT_TOKEN"

GET /models/{modelKey}

Read an image or video model schema

  • Operation id: getModel
  • Scopes: Requires at least one of image:generate or video:generate.
  • CLI equivalent: gavana model get

Parameters

ParameterInTypeRequiredNotes
modelKeypathstringYesOpaque key from a model:<key> handle. Pattern ^[A-Za-z0-9_-]{8,600}$.

Responses

StatusPayloadMeaning
200objectOne runnable image or video model with its connection-specific schema.
defaultErrorResponseA stable machine-readable error. The response always includes X-Request-ID.

200 response body

FieldTypeRequiredNotes
modelImageModelYes—
model.idstringYesPattern ^[A-Za-z0-9_-]{8,600}$.
model.handlestringYesPattern ^model:[A-Za-z0-9_-]{8,600}$.
model.modelIdstringYesmin length 1, max length 240.
model.namestringYes—
model.providerstringYesOne of craftboard, openai, google/nano-banana, black-forest-labs, recraft, ideogram, qwen, openrouter.
model.providerLabelstringYes—
model.connectionIdstring | nullYes—
model.connectionNamestringYes—
model.typestringYesOne of image, video.
model.capabilitiesarray of ImageModelCapabilityYesmin items 1.
model.parametersarray of ImageModelParameterYes—
model.parameters[].namestringYes—
model.parameters[].labelstringYes—
model.parameters[].descriptionstringYes—
model.parameters[].typestringYesOne of string, integer, number, boolean, string[], image[].
model.parameters[].requiredbooleanYes—
model.parameters[].minnumberNo—
model.parameters[].maxnumberNo—
model.parameters[].optionsarray of objectNo—
model.parameters[].options[].labelstringYes—
model.parameters[].options[].valuestringYes—
model.parameters[].options[].descriptionstringNo—
model.parameters[].capabilitiesarray of ImageModelCapabilityYes—
model.estimatedSecondsintegerYesmin 1.
model.betabooleanYes—

Example

curl "https://app.gavana.ai/api/canvas-agent/v1/models/seedream-4-0-250828" \ -H "Authorization: Bearer $GAVANA_AGENT_TOKEN"

Errors

Every failure uses the shared error envelope described in Errors and X-Request-ID. The response always carries X-Request-ID; share that value with support instead of the request payload.

Last updated on