Skip to content

LLM ​

Large Language Model API via AIG Gateway

Actions ​

Steps this node can perform. Add one from Add a step, then pick the action.

Text Chat ​

Generate text responses using language models

Settings

FieldTypeRequiredDescription
ModelChoice (loaded from your account)YesModel identifier in provider/model format (e.g., 'openai/gpt-5.1'). Dynamically populated from AI Gateway.
Default: openai/gpt-5.2
MessagesListYesArray of conversation messages
Response FormatChoiceControls the output format. 'text' for free-form, 'json_object' for valid JSON, 'json_schema' for schema-constrained JSON.
Options: Text, JSON Object, JSON Schema
Default: text
Schema DefinitionTextYesA JSON Schema definition that constrains the LLM output structure. The root must be {"type": "object"} - paste a schema, not an example of the output. Example: {"type":"object","properties":{"title":{"type":"string"}},"required":["title"]}
TemperatureNumberControls randomness (0.0-2.0)
Default: 0.7
Max TokensNumberMaximum tokens to generate
Default: 1000
Frequency PenaltyNumberPenalize frequent tokens
Default: 0
Presence PenaltyNumberPenalize presence of new tokens
Default: 0
Stop SequenceTextStop generation when sequence is encountered
Reasoning EffortChoiceHint for supported reasoning models
Options: Low, Medium, High
VerbosityChoiceDesired verbosity of text response
Options: Concise, Balanced, Detailed
Retry ConfigurationObjectConfigure retry behavior for failed requests
Custom TagsListOptional custom tags for cost tracking (e.g., 'team:api', 'feat:summarize', 'env:prod')

Output

Later steps use this data by picking this step in the $ picker. For example, model_used is $.<step ID>.output.model_used.

json
{
  "model_used": "string",
  "response": {
    "choices": [
      {
        "finish_reason": "string",
        "index": 0,
        "message": {}
      }
    ],
    "created": 0,
    "id": "string",
    "model": "string",
    "object": "chat.completion",
    "usage": {
      "completion_tokens": 0,
      "prompt_tokens": 0,
      "total_tokens": 0
    }
  },
  "success": false,
  "tokens_used": 0
}

Example values show the shape of the data, not real values. See Using data from earlier steps.

Field descriptions
FieldTypeDescription
model_usedTextThe model that was actually used for the request
responseObjectRaw unified LLM response payload
response.choices[]ListA list of chat completion choices
response.choices[].finish_reasonTextThe reason the model stopped generating tokens
response.choices[].indexNumberThe index of the choice in the list
response.choices[].messageObjectThe message generated by the model
response.choices[].message.contentTextThe contents of the message (raw string, including JSON string when using structured output)
response.choices[].message.parsed_contentAnyParsed JSON object when response_format is json_object or json_schema. Allows downstream nodes to access fields directly (e.g., parsed_content.name) without manual JSON parsing. Omitted when response_format is text or when JSON parsing fails.
response.choices[].message.roleTextThe role of the message author (always 'assistant' for responses)
response.choices[].message.schema_validation_errors[]ListList of schema validation errors when the LLM output does not conform to the provided JSON Schema. Only present in json_schema mode when validation fails. The parsed_content field is still populated even when validation errors exist.
response.createdNumberThe Unix timestamp (in seconds) of when the response was created
response.idTextA unique identifier for the response
response.modelTextThe model used for the response
response.objectTextThe object type, which is always 'chat.completion'
response.usageObjectUsage statistics for the completion request
response.usage.completion_tokensNumberNumber of tokens in the generated completion
response.usage.prompt_tokensNumberNumber of tokens in the prompt
response.usage.total_tokensNumberTotal number of tokens used in the request
successYes / NoWhether the request was successful
tokens_usedNumberTotal tokens consumed by the request

Generate Image ​

Generate images from text descriptions

Settings

FieldTypeRequiredDescription
ModelChoice (loaded from your account)YesProvider-prefixed model id from AI Gateway
Default: openai/gpt-image-1.5
PromptTextYesA text description of the desired image(s)
Number of ImagesNumberThe number of images to generate
Default: 1
SizeChoiceThe size of the generated images
Options: Auto, 1024x1024, 1024x1536, 1536x1024
Default: auto
QualityChoiceThe quality of the image
Options: Low, Medium, High
Default: medium
Output FormatChoiceThe format in which the generated images are returned
Options: Base64 JSON, File
Default: file
File NameFileYesThe configuration for the output file. The file extension will be determined by the output_type field
Output TypeChoiceThe image file format for the output
Options: PNG, JPEG
Default: png
Retry ConfigurationObjectConfigure retry behavior for failed requests
Custom TagsListOptional custom tags for cost tracking (e.g., 'team:api', 'feat:summarize', 'env:prod')

Output

Later steps use this data by picking this step in the $ picker. For example, created is $.<step ID>.output.created.

json
{
  "created": 0,
  "data": [
    "string"
  ]
}

Example values show the shape of the data, not real values. See Using data from earlier steps.

Field descriptions
FieldTypeDescription
createdNumberUnix timestamp (seconds) when images were generated
data[]ListList of generated images

Edit Image ​

Edit or transform existing images using AI (1-10 reference images, max 4MB each)

Settings

FieldTypeRequiredDescription
ModelChoice (loaded from your account)YesProvider-prefixed model id from AI Gateway
Default: openai/gpt-image-1.5
Reference ImagesListYesReference images to edit (1-10 images, max 4MB each)
PromptTextYesText description of the desired edit or transformation
Number of ImagesNumberThe number of images to generate
Default: 1
SizeChoiceThe size of the generated images
Options: Auto, 1024x1024, 1024x1536, 1536x1024
Default: auto
QualityChoiceThe quality of the image
Options: Low, Medium, High
Default: medium
Output FormatChoiceThe format in which the generated images are returned
Options: Base64 JSON, File
Default: file
File NameFileYesThe configuration for the output file. The file extension will be determined by the output_type field
Output TypeChoiceThe image file format for the output
Options: PNG, JPEG
Default: png
Retry ConfigurationObjectConfigure retry behavior for failed requests
Custom TagsListOptional custom tags for cost tracking (e.g., 'team:api', 'feat:summarize', 'env:prod')

Output

Later steps use this data by picking this step in the $ picker. For example, created is $.<step ID>.output.created.

json
{
  "created": 0,
  "data": [
    "string"
  ]
}

Example values show the shape of the data, not real values. See Using data from earlier steps.

Field descriptions
FieldTypeDescription
createdNumberUnix timestamp (seconds) when images were generated
data[]ListList of generated images

Analyze Image ​

Analyze an image (URL or base64) and return a text explanation

Settings

FieldTypeRequiredDescription
ModelChoice (loaded from your account)YesProvider-prefixed model id from AI Gateway
Default: openai/gpt-image-1.5
Image SourceChoiceYesThe source of the image
Options: URL, File
Image FileFileYesImage file to analyze (PNG, JPEG, WEBP, non-animated GIF)
Image URLTextHTTP/HTTPS URL for the image (PNG, JPEG, WEBP, non-animated GIF)
PromptCodeYesInstruction for how to analyze/describe the image
Retry ConfigurationObjectConfigure retry behavior for failed requests
Custom TagsListOptional custom tags for cost tracking (e.g., 'team:api', 'feat:summarize', 'env:prod')

Output

Later steps use this data by picking this step in the $ picker. For example, model_used is $.<step ID>.output.model_used.

json
{
  "model_used": "string",
  "raw_response": "string",
  "response": {
    "text": "string"
  },
  "success": false,
  "tokens_used": 0
}

Example values show the shape of the data, not real values. See Using data from earlier steps.

Field descriptions
FieldTypeDescription
model_usedTextModel used to perform image analysis
raw_responseObjectResponse from the AI Gateway API
raw_response.created_atNumberUnix timestamp when the response was created
raw_response.errorTextError message if the request failed
raw_response.idTextResponse identifier
raw_response.incomplete_detailsObjectIncomplete details if the response is incomplete
raw_response.instructionsTextInstructions provided with the request
raw_response.max_output_tokensNumberMaximum output tokens
raw_response.metadataObjectMetadata object containing additional information
raw_response.modelTextModel identifier used for the request
raw_response.objectTextObject type (e.g., 'chat.completion')
raw_response.output[]ListOutput array containing the response items
raw_response.output[].content[]ListContent array containing the response content
raw_response.output[].content[].annotations[]ListAnnotations array (can be empty). Elements are free-form annotation objects
raw_response.output[].content[].textTextText content of the response
raw_response.output[].content[].typeTextContent type (e.g., 'output_text')
raw_response.output[].idTextID of the output item
raw_response.output[].roleTextRole of the message (e.g., 'assistant')
raw_response.output[].statusTextStatus of the output item (e.g., 'completed')
raw_response.output[].typeTextType of output item (e.g., 'message')
raw_response.parallel_tool_callsYes / NoWhether parallel tool calls are enabled
raw_response.previous_response_idTextPrevious response ID for continuation
raw_response.reasoningObjectReasoning object containing reasoning details
raw_response.statusTextStatus of the response (e.g., 'completed')
raw_response.storeAnyStore identifier (can be bool or string)
raw_response.temperatureNumberTemperature setting used for the request
raw_response.textObjectText object containing text-related information
raw_response.tool_choiceTextTool choice setting
raw_response.tools[]ListArray of tools available for the request. Elements are free-form tool definitions
raw_response.top_pNumberTop-p sampling parameter
raw_response.truncationTextTruncation information
raw_response.usageObjectUsage statistics for the API request
raw_response.usage.costAnyCost of the request
raw_response.usage.input_tokensNumberNumber of input tokens used
raw_response.usage.input_tokens_detailsAnyInput tokens details
raw_response.usage.output_tokensNumberNumber of output tokens generated
raw_response.usage.output_tokens_detailsAnyOutput tokens details
raw_response.usage.total_tokensNumberTotal number of tokens used
raw_response.userTextUser identifier
responseObjectStructured analysis response
response.textTextTextual explanation of the image
successYes / NoWhether the analyze_image request succeeded
tokens_usedNumberTokens consumed when available

Transcribe Audio ​

Transcribe an attached or same-run reference audio file through AI Gateway

Settings

FieldTypeRequiredDescription
ModelChoice (loaded from your account)YesTranscription model dynamically populated from AI Gateway
Default: openai/whisper-1
Audio FileFileYesAudio file to transcribe (FLAC, MP3, MP4, MPEG, MPGA, M4A, OGG, WAV, or WEBM; max 25 MiB)
Options: Reference, Attach new
Response FormatChoiceFormat of the transcription response. Use 'diarized_json' for speaker separation with gpt-4o-transcribe-diarize.
Options: JSON, Diarized JSON
Default: json
LanguageTextInput audio language as ISO-639-1 code (e.g. en). ElevenLabs Scribe models.
PromptTextOptional text to guide the model's style or vocabulary (e.g. proper nouns). Note: not supported for diarization models.
TemperatureNumberSampling temperature between 0 and 1. ElevenLabs Scribe models.
Chunking StrategyChoiceChunking strategy for audio. Set to 'auto' for inputs longer than 30 seconds with gpt-4o-transcribe-diarize.
Options: Auto
Custom TagsListOptional custom tags for AI Gateway cost tracking

Output

Later steps use this data by picking this step in the $ picker. For example, model_used is $.<step ID>.output.model_used.

json
{
  "model_used": "string",
  "segments": [
    {
      "end": 0,
      "id": "string",
      "speaker": "Speaker 1",
      "start": 0,
      "text": "string"
    }
  ],
  "text": "string"
}

Example values show the shape of the data, not real values. See Using data from earlier steps.

Field descriptions
FieldTypeDescription
model_usedTextAI Gateway model used for transcription
segments[]ListSegments with timestamps and speaker labels when using diarized_json or verbose_json
segments[].endNumberEnd timestamp in seconds
segments[].idAnySegment ID
segments[].speakerTextSpeaker label (e.g. Speaker 1, Speaker 2)
segments[].startNumberStart timestamp in seconds
segments[].textTextTranscribed segment text
textTextTranscribed text