LLM Nodes
3. LLM Nodes
LLM nodes let you run AI models inside your workflow. They are used for text summarization, classification, translation, content generation and decision-making steps. They are located under the LLM tab in the node catalog.
LLM nodes are not used on their own: they receive input from a previous node, send that input to the selected model and pass the generated result on to the next node. The basic flow is the same in every example:
Text Input → LLM node → Text Output
- Text Input carries the text typed by the user or the data coming from a previous node.
- LLM node processes this data according to the selected model and operation.
- Text Output displays the generated response or passes it on for use in later steps.
Node Groups
LLM nodes in SkyStudio are organized into four groups:
| Group | Nodes | Connection Required? |
|---|---|---|
| Built-in API nodes | OpenAI API Call, Anthropic API Call, Claude Web Search | No — model access is provided by SkyStudio |
| Native (GOAT) | GOAT | No |
| BYOK (Bring Your Own Key) | Mistral AI, DeepSeek, Groq, xAI (Grok), Together AI, Perplexity, Cohere, Gemini, OpenRouter, Hugging Face | Yes — the API key of your own provider account |
| BYOM (Bring Your Own Model) | Custom Model, Azure OpenAI, AWS Bedrock | Yes — endpoint / credentials |
Connection Setup
Built-in API nodes and GOAT do not require a credential connection. Model access is provided by SkyStudio; you do not need to enter your own API key.
Note: Among the built-in nodes, only the Claude Web Search node may require a connection to access the web search provider. In that case, the node shows a "Credential connection required" warning.
BYOK and BYOM nodes, on the other hand, connect to your own provider account or model infrastructure. For these nodes, you first create a connection in the App Connections area and then select that connection in the node. Step-by-step setup is described in each provider's own section (see the BYOK — Using a Provider with Your Own API Key and BYOM — Bringing Your Own Model sections).
Built-in API Nodes
The built-in API nodes group contains 3 nodes:
| Node | Description |
|---|---|
| OpenAI API Call | Sends requests to OpenAI models |
| Anthropic API Call | Sends requests to Anthropic Claude models |
| Claude Web Search | Generates answers with up-to-date information by performing web searches with Claude |
Common Panel Layout
All three nodes use the same panel layout:
| Section | Required | Description |
|---|---|---|
| Node Name | No | The node's name on the canvas |
| Model | Yes | The AI model to use |
| Add System Prompt | No | Defines the model's role and behavior rules |
| Tools | No | External tools the model can call when needed |
| Query | Yes | The request text to send to the model |
OpenAI API Call
Sends a request to OpenAI models and passes the response into the flow.
Parameters
| Parameter | Required | Description |
|---|---|---|
| Node Name | No | The node's name on the canvas |
| Model | Yes | One of the GPT series models (e.g. GPT-5.4 Mini, GPT-5.5) |
| System Prompt | No | The model's role and rules |
| Tools | No | Tools the model can use |
| Query | Yes | The request text. You can insert a previous node's output with / |
Model Selection
| Model type | Best for |
|---|---|
| Mini / Nano | Short summaries, classification, simple translation — fast and economical |
| Standard (GPT-5, GPT-5.5) | General-purpose generation, reporting |
| o series | Tasks requiring step-by-step reasoning |
Usage Example
To summarize a meeting note:
- Model: GPT-5.4 Mini
- System Prompt:
You are a meeting summary assistant. Respond in English and use at most 5 bullet points. - Query: Click the field and select the previous node's text output with
/
Sample Output
{
"answer": "Three decisions were made in the meeting: the budget was increased by 15%, the launch was postponed, and a new team member will be hired.",
"model": "gpt-5.4-mini",
"tokens_used": 412
}
Anthropic API Call
Sends requests to Anthropic Claude models. Preferred for long document analysis and tasks that require careful reasoning.
Parameters
| Parameter | Required | Description |
|---|---|---|
| Node Name | No | The node's name on the canvas |
| Model | Yes | One of the Claude series models (e.g. Claude 5 Sonnet, Claude 4.8 Opus) |
| System Prompt | No | The model's role and rules |
| Tools | No | Tools the model can use |
| Query | Yes | The request text |
Model Selection
| Model type | Best for |
|---|---|
| Sonnet | Balanced — suitable for most tasks, good speed/quality balance |
| Opus | Long document analysis, complex reasoning |
Usage Example
To analyze a long contract:
- Model: Claude 4.8 Opus
- System Prompt:
You are a contract analysis expert. Identify risky clauses and write a justification for each. Do not speculate on topics you are unsure about. - Query: Select the file reading node's output with
/
Claude Web Search
Runs the Claude model together with web search capability. Used for questions that require up-to-date information.
Parameters
| Parameter | Required | Description |
|---|---|---|
| Node Name | No | The node's name on the canvas |
| Model | Yes | The Claude model to use |
| System Prompt | No | The model's role and rules |
| Query | Yes | The topic or question to research |
| Maximum Searches | No | The maximum number of web searches to perform |
Usage Example
To gather up-to-date industry information:
- Query:
What is the latest status of AI regulations in Türkiye? - System Prompt:
List the findings in chronological order and cite a source for each item.
Note: Web search takes longer than a normal LLM call. If up-to-date information is not needed, using the Anthropic API Call node is faster.
Using the System Prompt
Click the + Add System Prompt button to give the model a role and rules. The Query field defines "what to do"; the System Prompt defines "how to do it".
A Good System Prompt
| What to write | Example |
|---|---|
| Role | You are a financial report analyst. |
| Language | Always respond in English. |
| Format | First give a 3-point summary, then a table. |
| Length | Keep your responses under 200 words. |
| Limits | Do not generate information that is not in the data. If unsure, say "no information". |
Example System Prompt
You are a customer feedback classification assistant.
Assign each incoming text to one of these categories: Complaint, Suggestion, Praise, Question.
Return only the category name as your answer. Do not write an explanation.
Note: For tasks like classification, writing a clear format rule in the System Prompt such as "return only the category name" makes it easier for the next nodes to process the output.
Using Tools
When you open the Tools section, you can select tools that the model can call automatically when needed.
How It Works
- Click the Tools heading to open the section.
- Click the + sign next to the tool you want to add from the list.
- If the tool says "Connection required", set up the relevant app connection.
If the model needs this tool while answering your query, it calls it on its own and includes the result in its response.
Usage Example
When you write "Summarize the latest email from Ahmet" in the Query, if the Outlook Mail Search tool is added, the model first searches for the email, finds it and then summarizes it.
Note: Adding tools slows the model down and increases cost. Only add tools that are truly needed.
Passing Data into the Query Field
The "Add parameters with /" hint on the right of the Query field indicates that you can insert previous node outputs.
Methods
| Method | How to |
|---|---|
| Select from menu | Click the field, press /, select the output from the list |
| Type manually | Type directly in the form {{output.data.answer}} |
Combining with static text
Summarize the meeting note below in 5 bullet points:
{{output.text}}
Common Model Parameters
In GOAT, BYOK and BYOM nodes, the request text is written in the Message field (in some operations Prompt, Query or Input Text(s)) instead of Query. In these fields too, you can type / to insert a previous node's output. The following parameters recur in the chat operations of these nodes:
| Parameter | Description |
|---|---|
| Message / Prompt | The main request the model will respond to. You can type static text or link a value from a previous node with /. |
| System Prompt | Instruction defining the model's role, language, tone and output rules. Not required in most nodes, but recommended for consistent results. |
| Temperature | Value that determines how variable/creative the responses are (usually in the 0–1 range). A low value produces more consistent results; a high value produces more creative results. |
| Max Tokens | Maximum length of the generated response. If left blank, the provider's/platform's default limit is used. |
| JSON Output | Makes the response return as structured JSON. Only available on models that support this feature; leave it off if the next node does not expect JSON. |
Note: When numeric fields such as Temperature and Max Tokens are left blank, the model's or provider's default value is used. For workflows moved to production, setting these values explicitly is recommended for consistent results.
GOAT
GOAT is the built-in chat model available directly within SkyStudio. It can be used for basic text generation, question answering, summarization, drafting and classification flows without requiring an external provider account or API key.
Connection Setup and Management
The GOAT node does not require a connection. After adding the node to the canvas, the "App Connections" field does not appear in the right panel; you can fill in the parameters directly.
Operations
The GOAT node offers a single operation:
| Operation | Description |
|---|---|
| Chat | Sends the given message to the GOAT model and generates a text response |
Chat
This operation sends the given message to the GOAT model and generates a text response.
Parameters
| Parameter | Required | Description |
|---|---|---|
| Node Name | No | A name that makes the node easy to identify within the workflow (e.g. Generate Product Description, Support Reply) |
| Select operation | Yes | Select Chat |
| Message | Yes | The main request the model will respond to. You can type static text or insert the value from the Text Input node with / |
| System Prompt | No | Defines the model's behavior; recommended for controlling the response format |
| Temperature | No | Determines the creativity level of responses (see the guide below) |
| Max Tokens | No | Maximum response length; if left blank, the platform's default limit is used |
Message Example
Write a polite and short reply to the customer message below:
/
Here, / is used to select the output of the Text Input node.
System Prompt Example
You are a customer support specialist. Write in English. Do not give uncertain information. Keep your answer to at most three sentences.
Temperature Guide
| Range | Result |
|---|---|
| 0–0.3 | More consistent, clear and controlled responses |
| 0.4–0.7 | Balanced results for general use |
| 0.8–1 | More creative and varied results |
0.2–0.5 is recommended for summaries, classification and support replies; around 0.7 for idea generation and marketing copy.
Node Connections
Text Input is selected as the incoming connection. Text Output is selected as the next node.
Sample Output
{
"response": "Hello, we apologize for the issue you experienced. Your request has been forwarded to our team and we will get back to you as soon as possible.",
"model": "goat",
"tokens_used": 42
}
Example Workflow with GOAT
Text Input → GOAT / Chat → Text Output
- Type, for example,
What is AI-powered customer service?into the Text Input node. - In the GOAT node, insert the Text Input value into the Message field with
/. - Write the desired response format in the System Prompt field.
- Set Text Output as the GOAT node's next connection.
- Save the workflow and start the run action on the workflow screen.
- The result is displayed in the Text Output node.
Common Errors
| Error | Possible Cause | Solution |
|---|---|---|
| Empty response returned | The Message field is empty or contains only whitespace | Make sure valid text is entered in the Message field or that the value linked with / is not empty |
| Response is cut off | Max Tokens is set too low | Increase Max Tokens or leave the field blank to use the default |
| Response in an unexpected style | No System Prompt defined | Add role, language and tone instructions to the System Prompt field |
| Model times out | The request is too long or the server is under heavy load | Shorten the Message and run the workflow again |
Notes
- Since GOAT requires no external account, it can be the first choice for rapid prototyping and test scenarios.
- For high-volume scenarios or those requiring highly specialized domain knowledge, switching to one of the BYOK/BYOM providers is recommended.
- When the System Prompt is left blank, the model's default, general-purpose behavior applies.
BYOK — Using a Provider with Your Own API Key
BYOK (Bring Your Own Key) lets you use models by connecting your own provider account and API key to SkyStudio. The key is obtained from the relevant provider, added as a secure connection in the App Connections area of SkyStudio, and then selected in the relevant LLM node. Usage and costs are billed according to the connected account's own provider plan; SkyStudio only brokers the connection.
General Setup Process
The following steps are common to every BYOK node:
- Obtain an API key from the provider.
- Create an App Connection for the provider in SkyStudio (App Connections → Add New Connection → select the provider → enter Connection Name and API Key → Save).
- While creating the connection, set the access level in the Who can use field (Only me / Workspace / Selected users / Integrations).
- In the node, select the saved connection from the App Connections dropdown.
- Specify the connection to use in the Connection field (if there is more than one).
- Fill in the model and operation fields.
- Connect the Text Input node to the LLM node, and the LLM node to Text Output (or the relevant next node).
- Run the workflow and check the node result.
Important: API keys must only be entered in the connection field. They must never be written in Message, System Prompt, Prompt or other text fields, as these fields may become visible in the workflow history and logs.
Note: Each provider connection works with that provider's own API key. You can define multiple connections for the same provider for different environments (test/production) or different teams.
Mistral AI
Mistral AI is a multi-purpose model provider that can be used for chat, embedding, document reading (OCR), code completion and content moderation.
Connection Setup and Management
Getting an API Key
- Sign in to your Mistral AI account.
- Select the relevant workspace.
- Go to the API Keys page from the left menu.
- Click Create new key to create a new key.
- Copy the generated key immediately.
Note: The key may be shown in full only at the moment it is first created; if you forget to save it, you will need to create a new key. Official guide: Mistral API keys.
Adding the Connection to SkyStudio
- Go to App Connections from the SkyStudio left menu.
- Click Add New Connection.
- Select Mistral AI as the provider.
- Fill in the following fields:
| Field | Required | Description |
|---|---|---|
| Connection Name | Yes | A descriptive name (e.g. Company Mistral) |
| API Key | Yes | The key you copied from the Mistral API Keys page |
- Click Save.
Assigning the Connection to the Node
After adding the Mistral AI node to the canvas, select your saved connection from the App Connections dropdown in the right panel.
Operations
The Mistral AI node offers 5 operations:
| Operation | Category | Description |
|---|---|---|
| Chat | Featured | Text generation, question answering, summarization and content writing |
| Generate Embedding | Featured | Converts text into a numeric vector |
| OCR / Read Document | Featured | Extracts text from PDF, image or document content |
| Code Completion (FIM) | Standard | Completes the missing part of a code snippet |
| Content Moderation | Standard | Evaluates text in terms of policy and safety |
Chat
Used for text generation, question answering, summarization, content writing and information extraction.
Parameters
| Parameter | Required | Description |
|---|---|---|
| Connection | Yes | The Mistral AI connection to use |
| Model | Yes | Select the Mistral chat model to use from the dropdown |
| Message | Yes | The user request the model will respond to. If content from the Text Input node is to be used, select the relevant value with / |
| System Prompt | No | Defines the model's role, language, tone and output rules |
| Temperature | No | 0.7 for balanced results; a lower value for more controlled results |
| Max Tokens | No | Sets the maximum response length |
| JSON Output | No | Enable if the response needs to return as structured JSON; leave it off if the next node does not expect JSON |
Example Workflow
Text Input → Mistral AI / Chat → Text Output
A customer question is typed into Text Input. This value is linked to the Message field in the Mistral Chat node. Text Output is selected as the next node. When the workflow runs, the response appears in Text Output.
Sample Output
{
"response": "Your return process is completed within 14 days. You do not need to upload any additional documents.",
"model": "mistral-large-latest",
"finish_reason": "stop",
"usage": { "prompt_tokens": 28, "completion_tokens": 19 }
}
Generate Embedding
Converts text into a numeric vector. Used in similarity search, document matching, RAG (Retrieval-Augmented Generation) and semantic search scenarios.
Parameters
| Parameter | Required | Description |
|---|---|---|
| Connection | Yes | The Mistral AI connection to use |
| Model | Yes | Select a Mistral model that supports embedding |
| Input Text(s) | Yes | Text to be converted into a vector. You can enter a single text or a separate text on each line. For dynamic text, select the value from a previous node with / |
Example Usage
Text Input → Mistral AI / Generate Embedding → Next vector or search node
The output of this node is embedding data rather than ordinary user text. Therefore, instead of connecting it directly to Text Output, it is better to connect it to a search or data node that accepts embeddings.
Sample Output
{
"embeddings": [
{ "index": 0, "vector": [0.0123, -0.0456, 0.0789, "..."], "dimensions": 1024 }
],
"model": "mistral-embed"
}
OCR / Read Document
Used to extract text and structured information from PDF, image or document content.
Parameters
| Parameter | Required | Description |
|---|---|---|
| Connection | Yes | The Mistral AI connection to use |
| Model | Yes | Select a model that supports document or image understanding |
| Document Type | Yes | Select the type of the file being sent (e.g. PDF, image) |
| Document / Image URL | Yes | Accessible link to the document. A URL can be used or, where supported, Base64 data in the format data:application/pdf;base64,... can be sent |
| Include Images | No | Determines whether images in the document are also analyzed; enable it if tables, diagrams or text in images matter |
Example Workflow
Text Input containing a document URL → Mistral AI / OCR - Read Document → Text Output
The document URL from Text Input is inserted into the Document / Image URL field with /. The result is displayed in Text Output as the document content.
Sample Output
{
"text": "INVOICE\nDate: 01.08.2026\nTotal Amount: 12,500 TRY\n...",
"pages": 1,
"model": "mistral-ocr-latest"
}
Code Completion (FIM)
FIM stands for "fill in the middle". It is used to complete the missing part of a code snippet.
Parameters
| Parameter | Required | Description |
|---|---|---|
| Connection | Yes | The Mistral AI connection to use |
| Model | Yes | Select a Mistral model that supports code completion |
| Prompt (Prefix) | Yes | The code before the missing part |
| Suffix | No | The code that comes after the missing part; helps the model understand up to which point it should write code |
| Max Tokens | No | Limits the length of the code to be completed |
Prompt (Prefix) Example
def calculate_total(products):
Example Workflow
Text Input → Mistral AI / Code Completion (FIM) → Text Output
The code beginning from Text Input is linked to the Prefix field. The model completes the code; the result is displayed in Text Output.
Sample Output
{
"completion": "\n total = 0\n for product in products:\n total += product['price'] * product['quantity']\n return total",
"model": "codestral-latest"
}
Content Moderation
Used to evaluate text for policy, safety or unwanted content.
Parameters
| Parameter | Required | Description |
|---|---|---|
| Connection | Yes | The Mistral AI connection to use |
| Model | Yes | Select a model that supports content moderation |
| Text to Moderate | Yes | The text to be checked. Usually taken from the Text Input node with / |
Example Workflow
Text Input → Mistral AI / Content Moderation → Text Output
The output contains the moderation result for the text. This result can also be used in the next step together with an If-Else Condition for conditional routing (e.g. reject the message if inappropriate content is detected).
Sample Output
{
"flagged": false,
"categories": {
"hate": false,
"violence": false,
"self_harm": false,
"sexual": false
}
}
Common Errors
| Error | Possible Cause | Solution |
|---|---|---|
| 401 Unauthorized | API Key is invalid or entered incorrectly | Check the key on the Mistral API Keys page and regenerate it if needed |
| 429 Too Many Requests | Provider rate/request limit exceeded | Add a delay between requests or upgrade your plan limit |
| Model not found | The selected model is not accessible on your account or its name has changed | Verify the model list against the current Mistral documentation |
| Context length exceeded | Message or Document content exceeds the model's context limit | Shorten the input text or choose a model with a higher context limit |
| Empty embedding result | The Input Text(s) field was sent empty | Make sure the Input Text(s) field is filled in |
Notes
- Your Mistral AI account's usage quota and billing are managed through the Mistral platform; SkyStudio only brokers the API calls.
- In the OCR / Read Document operation, processing time may increase for large PDF files; if possible, send files containing only the relevant pages.
- The Code Completion (FIM) operation is suitable for automations that mimic code editor integrations; filling in the Suffix field improves result quality.
DeepSeek
DeepSeek is a model provider known for its cost-performance balance, used especially in chat and code completion scenarios.
Connection Setup and Management
Getting an API Key
- Sign in to your DeepSeek Platform account.
- Go to the API Keys section from the left menu.
- Click Create new API key.
- Copy the generated key and store it in a safe place.
Note: Official API documentation: DeepSeek API.
Adding the Connection to SkyStudio
- Go to App Connections from the SkyStudio left menu.
- Click Add New Connection.
- Select DeepSeek as the provider.
- Fill in the following fields:
| Field | Required | Description |
|---|---|---|
| Connection Name | Yes | A descriptive name (e.g. Company DeepSeek) |
| API Key | Yes | The key you copied from DeepSeek Platform |
- Click Save.
Assigning the Connection to the Node
After adding the DeepSeek node to the canvas, select your saved connection from the App Connections dropdown in the right panel.
Operations
The DeepSeek node offers 2 operations:
| Operation | Category | Description |
|---|---|---|
| Chat | Featured | Text generation and question answering |
| Code Completion (FIM) | Standard | Completes the missing part of a code snippet |
Chat
Parameters
| Parameter | Required | Description |
|---|---|---|
| Connection | Yes | The DeepSeek connection to use |
| Model | Yes | Select the DeepSeek model to use from the dropdown |
| Message | Yes | The request the model will respond to. For user input, link Text Input with / |
| System Prompt | No | Defines the model's behavior |
| Temperature | No | Lower it for more precise results, raise it for creative text |
| Max Tokens | No | Response length limit |
| JSON Output | No | Used when structured output is needed |
Example Workflow
Text Input → DeepSeek / Chat → Text Output
The question in Text Input is linked to the DeepSeek Message field. The output is shown in the Text Output node.
Sample Output
{
"response": "ARIMA and Prophet are the most commonly used methods for time series forecasting.",
"model": "deepseek-chat",
"usage": { "prompt_tokens": 15, "completion_tokens": 22 }
}
Code Completion (FIM)
Parameters
| Parameter | Required | Description |
|---|---|---|
| Connection | Yes | The DeepSeek connection to use |
| Model | Yes | Select a DeepSeek model suitable for code completion |
| Prompt (Prefix) | Yes | The code before the missing part |
| Suffix | No | The code after the missing part; helps the model end the completion in the right place |
| Max Tokens | No | Limits the length of the generated code |
Example Workflow
Text Input → DeepSeek / Code Completion (FIM) → Text Output
Sample Output
{
"completion": "\n return sum(p['price'] * p['quantity'] for p in products)",
"model": "deepseek-coder"
}
Common Errors
| Error | Possible Cause | Solution |
|---|---|---|
| 401 Unauthorized | API Key is invalid | Check the key on DeepSeek Platform |
| 402 Insufficient Balance | Insufficient account balance/credit | Top up your balance on DeepSeek Platform |
| 429 Too Many Requests | Request limit exceeded | Add a delay between requests |
| Context length exceeded | Input exceeds the model's context limit | Shorten the Message or Prompt content |
Notes
- DeepSeek models are a good option for cost-sensitive, high-volume workflows.
- The Code Completion (FIM) operation gives the best results with models from the
deepseek-coderfamily.
Groq
Groq is a platform that provides fast model inference. It is preferred for low-latency chat, support bots and fast text processing flows.
Connection Setup and Management
Getting an API Key
- Sign in to your Groq Console account.
- Select the relevant project.
- In the API Keys area, click Create API Key.
- Copy the generated key.
Note: Groq keys are project-based; you need to create a separate key for each project.
Adding the Connection to SkyStudio
- Go to App Connections from the SkyStudio left menu.
- Click Add New Connection.
- Select Groq as the provider.
- Fill in the following fields:
| Field | Required | Description |
|---|---|---|
| Connection Name | Yes | A descriptive name (e.g. Company Groq) |
| API Key | Yes | The key you copied from Groq Console |
- Click Save.
Assigning the Connection to the Node
After adding the Groq node to the canvas, select your saved connection from the App Connections dropdown in the right panel.
Operations
The Groq node offers a single operation:
| Operation | Description |
|---|---|
| Chat | Low-latency text generation and question answering |
Chat
Parameters
| Parameter | Required | Description |
|---|---|---|
| Connection | Yes | The Groq connection to use |
| Model | Yes | Select the Groq model to use |
| Message | Yes | The request to respond to. If Text Input is used, insert it with / |
| System Prompt | No | Defines the assistant's role and response rules |
| Temperature | No | Determines response variety |
| Max Tokens | No | Sets the maximum response length |
Example Workflow
Text Input → Groq / Chat → Text Output
For example, a support request is typed into Text Input, and the Groq model is asked for a short, professional reply. After the workflow runs, Text Output is checked.
Sample Output
{
"response": "Your request has been received; we will get back to you within 24 hours at the latest.",
"model": "llama-3.3-70b-versatile",
"latency_ms": 180
}
Common Errors
| Error | Possible Cause | Solution |
|---|---|---|
| 401 Unauthorized | API Key is invalid or the project has changed | Create a new key in Groq Console |
| 429 Too Many Requests | Per-minute/daily request limit exceeded | Reduce request frequency or check your plan limit |
| Model decommissioned | The selected model is no longer supported | Check the current model list in Groq Console |
Notes
- Groq offers noticeably lower response times than other providers for the same model family; it can be preferred for real-time chatbots.
- Some models may be decommissioned after a certain period; it is recommended to periodically compare your workflows with Groq's current model list.
xAI (Grok)
xAI provides the Grok models. It can be used for chat and image generation.
Connection Setup and Management
Getting an API Key
- Sign in to your xAI Console account.
- Go to the API Keys section.
- Create a new key and copy it.
Adding the Connection to SkyStudio
- Go to App Connections from the SkyStudio left menu.
- Click Add New Connection.
- Select xAI (Grok) as the provider.
- Fill in the following fields:
| Field | Required | Description |
|---|---|---|
| Connection Name | Yes | A descriptive name (e.g. Company xAI) |
| API Key | Yes | The key you copied from xAI Console |
- Click Save.
Assigning the Connection to the Node
After adding the xAI (Grok) node to the canvas, select your saved connection from the App Connections dropdown in the right panel.
Operations
The xAI (Grok) node offers 2 operations:
| Operation | Category | Description |
|---|---|---|
| Chat | Featured | Text generation and question answering |
| Generate Image | Standard | Generates an image from a text description |
Chat
Parameters
| Parameter | Required | Description |
|---|---|---|
| Connection | Yes | The xAI connection to use |
| Model | Yes | Select the Grok model to use |
| Message | Yes | Enter the user request or link Text Input with / |
| System Prompt | No | Sets the role, tone and limits of the response |
| Temperature | No | Creativity level |
| Max Tokens | No | Response length limit |
Example Workflow
Text Input → xAI (Grok) / Chat → Text Output
Sample Output
{
"response": "Three key findings stand out in your competitor analysis report: price, delivery time and customer support.",
"model": "grok-4"
}
Generate Image
Used to generate an image from a text description.
Parameters
| Parameter | Required | Description |
|---|---|---|
| Connection | Yes | The xAI connection to use |
| Model | Yes | Select a model that supports image generation |
| Prompt | Yes | Detailed description of the image to be created |
| Number of Images | No | Determines how many images are generated; 1 is recommended to start with |
Prompt Example
A team working in a modern technology office, natural light, corporate and realistic photo style
Example Workflow
Text Input → xAI (Grok) / Generate Image → Output or next node that accepts images
The Prompt is taken from Text Input. After the workflow runs, check that the image generation result appears in the relevant output node or in the node result.
Sample Output
{
"images": [
{ "url": "https://cdn.x.ai/generated/img_8f21ac.png", "index": 0 }
],
"model": "grok-image"
}
Common Errors
| Error | Possible Cause | Solution |
|---|---|---|
| 401 Unauthorized | API Key is invalid | Renew the key in xAI Console |
| 429 Too Many Requests | Request limit exceeded | Add a delay between requests |
| Image not generated | Prompt is too short or vague | Enrich the Prompt with subject, style and composition details |
| Content policy violation | The requested image violates the content policy | Make the Prompt compliant with the policy |
Notes
- In the Generate Image operation, the more detailed the Prompt (subject, style, lighting, composition, unwanted elements), the closer the generated image will be to the request.
- Keeping Number of Images high increases processing time and cost; start with
1in your first attempts.
Together AI
Together AI makes various open-source models available for chat, embedding and image generation.
Connection Setup and Management
Getting an API Key
- Sign in to your Together AI account.
- Go to the API Keys section under Settings.
- Create a new key and copy it.
Adding the Connection to SkyStudio
- Go to App Connections from the SkyStudio left menu.
- Click Add New Connection.
- Select Together AI as the provider.
- Fill in the following fields:
| Field | Required | Description |
|---|---|---|
| Connection Name | Yes | A descriptive name (e.g. Company Together AI) |
| API Key | Yes | The key you copied from Together AI settings |
- Click Save.
Assigning the Connection to the Node
After adding the Together AI node to the canvas, select your saved connection from the App Connections dropdown in the right panel.
Operations
The Together AI node offers 3 operations:
| Operation | Category | Description |
|---|---|---|
| Chat | Featured | Text generation and question answering |
| Generate Embedding | Standard | Converts text into a numeric vector |
| Generate Image (FLUX) | Standard | Generates an image from text with the FLUX model |
Chat
Parameters
| Parameter | Required | Description |
|---|---|---|
| Connection | Yes | The Together AI connection to use |
| Model | Yes | Select the chat model to use |
| Message | Yes | The content the model will respond to |
| System Prompt | No | Determines the model's behavior |
| Temperature | No | Creativity level |
| Max Tokens | No | Response length limit |
Example Workflow
Text Input → Together AI / Chat → Text Output
Sample Output
{
"response": "Open-source models provide flexibility in terms of customization and cost control.",
"model": "meta-llama/Llama-3.3-70B-Instruct-Turbo"
}
Generate Embedding
Parameters
| Parameter | Required | Description |
|---|---|---|
| Connection | Yes | The Together AI connection to use |
| Model | Yes | Select an embedding model |
| Input Text(s) | Yes | Texts to be converted into vectors; each line can be a separate text |
Example Workflow
Text Input → Together AI / Generate Embedding → Vector search node
Sample Output
{
"embeddings": [
{ "index": 0, "vector": [0.0211, -0.0187, "..."], "dimensions": 768 }
],
"model": "togethercomputer/m2-bert-80M-8k-retrieval"
}
Generate Image (FLUX)
Parameters
| Parameter | Required | Description |
|---|---|---|
| Connection | Yes | The Together AI connection to use |
| Model | Yes | Select FLUX or another available image generation model |
| Prompt | Yes | Detailed description of the image to be generated |
| Width | No | Image width (default: 1024) |
| Height | No | Image height (default: 1024) |
| Steps | No | Number of generation steps; processing time may increase as the value rises (starting value: 4) |
Example Workflow
Text Input → Together AI / Generate Image (FLUX) → Image output node
Sample Output
{
"images": [
{ "url": "https://together.ai/generated/flux_3a91.png", "width": 1024, "height": 1024 }
],
"model": "black-forest-labs/FLUX.1-schnell"
}
Common Errors
| Error | Possible Cause | Solution |
|---|---|---|
| 401 Unauthorized | API Key is invalid | Renew the key in Together AI settings |
| 429 Too Many Requests | Request limit exceeded | Add a delay between requests |
| Model not available | The selected model is not supported on your account plan | Choose an accessible model from the Together AI model catalog |
| Image returned empty/corrupted | Width/Height value is outside the range supported by the model | Use the recommended sizes from the model's documentation |
Notes
- Together AI offers many open-source models through a single connection; choose a model by comparing them against your business needs (speed, cost, quality).
- As the Steps value increases, image quality usually improves, but processing time and cost also increase; a low Steps value is enough for quick drafts.
Perplexity
Perplexity is used in web search–powered chat scenarios. It is preferred for research, source scanning and summarization tasks that require up-to-date information.
Connection Setup and Management
Getting an API Key
- Sign in to your Perplexity account.
- Go to the API section under Settings.
- Create a new key and copy it.
Adding the Connection to SkyStudio
- Go to App Connections from the SkyStudio left menu.
- Click Add New Connection.
- Select Perplexity as the provider.
- Fill in the following fields:
| Field | Required | Description |
|---|---|---|
| Connection Name | Yes | A descriptive name (e.g. Company Perplexity) |
| API Key | Yes | The key you copied from Perplexity settings |
- Click Save.
Assigning the Connection to the Node
After adding the Perplexity node to the canvas, select your saved connection from the App Connections dropdown in the right panel.
Operations
The Perplexity node offers a single operation:
| Operation | Description |
|---|---|
| Chat (with Web Search) | Generates responses based on up-to-date information, powered by web search |
Chat (with Web Search)
Parameters
| Parameter | Required | Description |
|---|---|---|
| Connection | Yes | The Perplexity connection to use |
| Model | Yes | Select the Perplexity model to use |
| Message | Yes | The question or request to research |
| System Prompt | No | Rules for the response's language, format and use of sources |
| Temperature | No | Determines response variety |
| Max Tokens | No | Response length limit |
Example Workflow
Text Input → Perplexity / Chat (with Web Search) → Text Output
A current research question is typed into Text Input. The model runs and the response is displayed in Text Output. Since up-to-date information is involved, it is recommended to check the sources in the result separately.
Sample Output
{
"response": "As of 2026, the three biggest players in the industry are ... (see sources)",
"citations": [
"https://example-source1.com/report",
"https://example-source2.com/analysis"
],
"model": "sonar-pro"
}
Common Errors
| Error | Possible Cause | Solution |
|---|---|---|
| 401 Unauthorized | API Key is invalid | Renew the key in Perplexity settings |
| 429 Too Many Requests | Request limit exceeded | Add a delay between requests |
| No citations returned | The selected model does not support web search | Choose a Perplexity model that supports web search (e.g. the sonar family) |
| Outdated response | The query is vague or no date range is specified | Add a time range or context to the Message |
Notes
- Since Perplexity responses are based on web sources, it is recommended to verify the returned sources (citations) separately for critical decisions.
- It gives more reliable results than other providers for time-sensitive questions such as current events, prices and regulations.
Cohere
Cohere is used for chat, embedding and document reranking.
Connection Setup and Management
Getting an API Key
- Sign in to your Cohere Dashboard account.
- Go to the API Keys section.
- Create a new key and copy it.
Adding the Connection to SkyStudio
- Go to App Connections from the SkyStudio left menu.
- Click Add New Connection.
- Select Cohere as the provider.
- Fill in the following fields:
| Field | Required | Description |
|---|---|---|
| Connection Name | Yes | A descriptive name (e.g. Company Cohere) |
| API Key | Yes | The key you copied from Cohere Dashboard |
- Click Save.
Assigning the Connection to the Node
After adding the Cohere node to the canvas, select your saved connection from the App Connections dropdown in the right panel.
Operations
The Cohere node offers 3 operations:
| Operation | Category | Description |
|---|---|---|
| Chat | Featured | Text generation and question answering |
| Generate Embedding | Standard | Converts text into a numeric vector |
| Rerank Documents | Standard | Ranks the documents most relevant to a search query |
Chat
Parameters
| Parameter | Required | Description |
|---|---|---|
| Connection | Yes | The Cohere connection to use |
| Model | Yes | Select the Cohere chat model to use |
| Message | Yes | The request the model will respond to |
| System Prompt | No | Role, language and output rules |
| Temperature | No | Response variety |
| Max Tokens | No | Response length limit |
Example Workflow
Text Input → Cohere / Chat → Text Output
Sample Output
{
"response": "When rerank and embedding are used together, search relevance increases significantly.",
"model": "command-r-plus"
}
Generate Embedding
Parameters
| Parameter | Required | Description |
|---|---|---|
| Connection | Yes | The Cohere connection to use |
| Model | Yes | Select an embedding model |
| Input Type | Yes | Specifies the purpose for which the text is processed. Choose the appropriate type recommended by the provider for search queries and document content |
| Input Text(s) | Yes | One or more texts to be converted into vectors; each line can be a separate text |
Example Workflow
Text Input → Cohere / Generate Embedding → Vector search node
Sample Output
{
"embeddings": [
{ "index": 0, "vector": [0.0342, -0.0119, "..."], "dimensions": 1024 }
],
"model": "embed-multilingual-v3.0"
}
Rerank Documents
Used to select and rank the documents most relevant to a search query.
Parameters
| Parameter | Required | Description |
|---|---|---|
| Connection | Yes | The Cohere connection to use |
| Model | Yes | Select a Cohere model that supports rerank |
| Query | Yes | The user's search question |
| Documents (JSON) | Yes | Documents to be ranked, as a JSON array |
| Top N | No | Number of top documents to return (default: 5) |
Query Example
How many days is the return period?
Documents (JSON) Example
["The return period is 14 days from the delivery date.", "Shipping takes 2-4 business days."]
Example Workflow
Text Input → Cohere / Rerank Documents → Text Output
Text Input is linked to the Query field. The list of documents to evaluate is entered in the Documents field. After the run, the most relevant documents are displayed in the result.
Sample Output
{
"results": [
{ "index": 0, "document": "The return period is 14 days from the delivery date.", "relevance_score": 0.94 },
{ "index": 1, "document": "Shipping takes 2-4 business days.", "relevance_score": 0.11 }
]
}
Common Errors
| Error | Possible Cause | Solution |
|---|---|---|
| 401 Unauthorized | API Key is invalid | Renew the key in Cohere Dashboard |
| 429 Too Many Requests | Request limit exceeded | Add a delay between requests |
| Invalid input_type | The Input Type field was set incorrectly in Generate Embedding | Use search_query for search queries and search_document for document content |
| Empty rerank result | The Documents (JSON) field contains an invalid format | Check that the JSON array is formatted correctly (square brackets, quotes, commas) |
Notes
- Adding the Rerank Documents operation as a layer on top of classic keyword search significantly improves the relevance of search results.
- In the Generate Embedding operation, choosing the correct Input Type (query or document) directly affects result quality.
Gemini
Gemini is added to use Google's text and image generation models.
Connection Setup and Management
Getting an API Key
- Sign in to your account via Google AI Studio.
- Go to the Get API key section.
- Create a new key and copy it.
Note: Official guide: Creating a Gemini API key.
Adding the Connection to SkyStudio
- Go to App Connections from the SkyStudio left menu.
- Click Add New Connection.
- Select Gemini as the provider.
- Fill in the following fields:
| Field | Required | Description |
|---|---|---|
| Connection Name | Yes | A descriptive name (e.g. Company Gemini) |
| API Key | Yes | The key you copied from Google AI Studio |
- Click Save.
Assigning the Connection to the Node
After adding the Gemini node to the canvas, select your saved connection from the App Connections dropdown in the right panel.
Operations
The Gemini node offers 2 operations:
| Operation | Category | Description |
|---|---|---|
| Chat | Featured | Text generation and question answering |
| Generate Image | Standard | Generates an image from a text description |
Chat
Parameters
| Parameter | Required | Description |
|---|---|---|
| Connection | Yes | The Gemini connection to use |
| Model | Yes | Select the Gemini model to use |
| Message | Yes | The request the model will respond to |
| System Prompt | No | Defines the model's role, response language and limits |
| Temperature | No | Creativity level |
| Max Tokens | No | Response length limit |
Example Workflow
Text Input → Gemini / Chat → Text Output
Sample Output
{
"response": "Recommended structure for the presentation: Introduction, Problem, Solution, Evidence, Closing.",
"model": "gemini-2.5-pro"
}
Generate Image
Parameters
| Parameter | Required | Description |
|---|---|---|
| Connection | Yes | The Gemini connection to use |
| Model | Yes | Select a Gemini model that supports image generation |
| Prompt | Yes | Clearly describe the image's subject, style, lighting, composition and unwanted elements |
| Number of Images | No | Number of images to generate (use 1 to start with) |
| Aspect Ratio | No | Image ratio; choose according to where it will be used |
Aspect Ratio Guide
| Use Case | Recommended Ratio |
|---|---|
| Square social media post | Square ratio |
| Story or vertical content | Portrait ratio |
| Cover or banner | Landscape ratio |
Example Workflow
Text Input → Gemini / Generate Image → Image output node
Sample Output
{
"images": [
{ "url": "https://generativelanguage.googleapis.com/generated/img_c391.png", "aspect_ratio": "1:1" }
],
"model": "gemini-2.5-flash-image"
}
Common Errors
| Error | Possible Cause | Solution |
|---|---|---|
| 401 Unauthorized | API Key is invalid | Create a new key in Google AI Studio |
| 429 Too Many Requests | Free plan quota exceeded | Wait for the quota to reset or upgrade your plan |
| Blocked by safety filter | The requested content was caught by the safety policy | Make the Prompt compliant with the policy |
| Aspect ratio not supported | The selected Aspect Ratio is not supported by the model | Choose one of the supported ratios |
Notes
- Gemini API keys are tied to your Google account; for team use, creating a separate service account is recommended.
- Aspect Ratio should be planned in advance according to where the output will be used (social media, banner, presentation); cropping afterwards may reduce image quality.
OpenRouter
OpenRouter lets you use models from different providers through a single connection.
Connection Setup and Management
Getting an API Key
- Go to the OpenRouter Keys page.
- Create a new key and copy it.
Adding the Connection to SkyStudio
- Go to App Connections from the SkyStudio left menu.
- Click Add New Connection.
- Select OpenRouter as the provider.
- Fill in the following fields:
| Field | Required | Description |
|---|---|---|
| Connection Name | Yes | A descriptive name (e.g. Company OpenRouter) |
| API Key | Yes | The key you copied from the OpenRouter Keys page |
- Click Save.
Assigning the Connection to the Node
After adding the OpenRouter node to the canvas, select your saved connection from the App Connections dropdown in the right panel.
Operations
The OpenRouter node offers a single operation:
| Operation | Description |
|---|---|
| Chat | Text generation with any model available through OpenRouter |
Chat
Parameters
| Parameter | Required | Description |
|---|---|---|
| Connection | Yes | The OpenRouter connection to use |
| Model | Yes | Enter the model name directly in the provider/model-name format |
| Message | Yes | The request the model will respond to |
| System Prompt | No | Defines the assistant's behavior |
| Temperature | No | Response variety |
| Max Tokens | No | Response length limit |
Model Examples
anthropic/claude-sonnet-4
or
deepseek/deepseek-chat
Note: The model name must be written in its current OpenRouter format (including the provider prefix); otherwise you will get a
Model not founderror.
Example Workflow
Text Input → OpenRouter / Chat → Text Output
Sample Output
{
"response": "For the comparative analysis, I suggest three scenarios: ...",
"model": "anthropic/claude-sonnet-4",
"provider": "openrouter"
}
Common Errors
| Error | Possible Cause | Solution |
|---|---|---|
| 401 Unauthorized | API Key is invalid | Renew the key on the OpenRouter Keys page |
| 404 Model not found | Model name is misspelled or the provider prefix is missing | Enter the model in provider/model-name format, verifying it against the current OpenRouter catalog |
| 402 Payment required | Insufficient account balance | Add credit to your OpenRouter account |
| 429 Too Many Requests | Request limit exceeded | Add a delay between requests |
Notes
- Since OpenRouter gives access to models from dozens of providers with a single connection and API key, it is a practical option for model comparison and A/B testing scenarios.
- Some models can only be used via OpenRouter with a specific payment method or quota; if you get an error, check your OpenRouter account balance first.
Hugging Face
Hugging Face is preferred for using open-source models.
Connection Setup and Management
Getting an API Key (Access Token)
- Go to the Hugging Face Access Tokens page.
- Click New token.
- Give the token a name and select the required permission scope (at least read/inference).
- Copy the generated token.
Adding the Connection to SkyStudio
- Go to App Connections from the SkyStudio left menu.
- Click Add New Connection.
- Select Hugging Face as the provider.
- Fill in the following fields:
| Field | Required | Description |
|---|---|---|
| Connection Name | Yes | A descriptive name (e.g. Company Hugging Face) |
| Access Token | Yes | The token you copied from Hugging Face settings |
- Click Save.
Assigning the Connection to the Node
After adding the Hugging Face node to the canvas, select your saved connection from the App Connections dropdown in the right panel.
Operations
The Hugging Face node offers a single operation:
| Operation | Description |
|---|---|
| Chat | Text generation with a model hosted on Hugging Face |
Chat
Parameters
| Parameter | Required | Description |
|---|---|---|
| Connection | Yes | The Hugging Face connection to use |
| Model | Yes | Enter the model ID (repo path) directly |
| Message | Yes | The request the model will respond to |
| System Prompt | No | Used for role, language, tone and output format |
| Temperature | No | Creativity level |
| Max Tokens | No | Response length limit |
Model Example
meta-llama/Llama-3.3-70B-Instruct
Note: The model to be used must be accessible on Hugging Face and compatible with the relevant connection type (Inference API / Inference Endpoints). Some models may additionally require license approval before use.
Example Workflow
Text Input → Hugging Face / Chat → Text Output
Sample Output
{
"response": "When comparing models, accuracy, latency and cost should be evaluated together.",
"model": "meta-llama/Llama-3.3-70B-Instruct"
}
Common Errors
| Error | Possible Cause | Solution |
|---|---|---|
| 401 Unauthorized | Access Token is invalid or its permission scope is insufficient | Create a new token and select the required permission scope |
| 403 Forbidden / Gated model | The model is a "gated" model that requires license approval | Accept the access request on the model's page on Hugging Face |
| 503 Model loading | The model is being called for the first time and is loading | Wait a few seconds and send the request again |
| 404 Model not found | The model ID (repo path) is misspelled | Copy the full repo path (user/model-name) from Hugging Face |
Notes
- On the first call, the model may respond more slowly than usual due to a cold start; this can also appear as a
503 Model loadingerror. - Some large models may only be available on paid Inference Endpoints plans; check the free Inference API coverage on Hugging Face.
BYOM — Bringing Your Own Model
BYOM (Bring Your Own Model) lets you use your own model endpoint or your custom model deployment on your cloud provider in a SkyStudio workflow. The connection fields in this section vary depending on the infrastructure where the model is hosted (custom endpoint, Azure resource deployment or AWS Bedrock region).
Custom Model
Custom Model is used to connect to OpenAI-compatible or internally hosted custom model endpoints.
Connection Setup and Management
Adding the Connection to SkyStudio
- Go to App Connections from the SkyStudio left menu.
- Click Add New Connection.
- Select Custom Model as the provider.
- Fill in the following fields:
| Field | Required | Description |
|---|---|---|
| Connection Name | Yes | A descriptive name (e.g. Internal Model) |
| Base URL / Endpoint | Yes | Custom endpoint address (e.g. https://model.yourcompany.com/v1) |
| API Key | No | Entered if the endpoint requires authentication |
Note: This information is obtained from the system hosting the model (OpenAI-compatible server, internal model server, etc.).
- Click Save.
Assigning the Connection to the Node
After adding the Custom Model node to the canvas, select your saved connection from the App Connections dropdown in the right panel.
Operations
The Custom Model node offers a single operation:
| Operation | Description |
|---|---|
| Chat | Sends a request to the model at the custom endpoint |
Chat
Parameters
| Parameter | Required | Description |
|---|---|---|
| Connection | Yes | The Custom Model connection to use |
| Model | Yes | The model name provided by the endpoint |
| Message | Yes | The request the model will respond to |
| System Prompt | No | Determines the model's role and behavior |
| Temperature | No | Response variety |
| Max Tokens | No | Response length limit |
Model Example
company-assistant-v1
Example Workflow
Text Input → Custom Model / Chat → Text Output
Sample Output
{
"response": "Your request has been answered based on the internal knowledge base.",
"model": "company-assistant-v1"
}
Common Errors
| Error | Possible Cause | Solution |
|---|---|---|
| Connection timeout | Base URL is unreachable or the endpoint is down | Verify that the endpoint is running and on a network SkyStudio can reach |
| 401 Unauthorized | An API Key is required but missing or incorrect | Check the API Key field in the connection |
| Model not found | The model name is not defined on the endpoint | Verify the model name supported by the endpoint |
Notes
- Custom Model is designed to work with any endpoint compatible with the OpenAI Chat Completions API (internal LLM server, self-hosted open-source model server, etc.).
- If the endpoint is hosted on a non-public network (VPN, internal network), make sure SkyStudio can reach it.
Azure OpenAI
Azure OpenAI is added to use model deployments created on Azure.
Connection Setup and Management
Adding the Connection to SkyStudio
- Go to App Connections from the SkyStudio left menu.
- Click Add New Connection.
- Select Azure OpenAI as the provider.
- Fill in the following fields:
| Field | Required | Description |
|---|---|---|
| Connection Name | Yes | A descriptive name (e.g. Company Azure OpenAI) |
| Azure Resource Endpoint | Yes | Your Azure resource's endpoint address (e.g. https://yourcompany.openai.azure.com) |
| API Key | Yes | The key taken from the Keys and Endpoint section of your resource in Azure Portal |
| API Version | No | The Azure OpenAI API version to use |
- Click Save.
Note: This information is obtained from the Keys and Endpoint page of the relevant Azure OpenAI resource in Azure Portal.
Assigning the Connection to the Node
After adding the Azure OpenAI node to the canvas, select your saved connection from the App Connections dropdown in the right panel.
Operations
The Azure OpenAI node offers 2 operations:
| Operation | Category | Description |
|---|---|---|
| Chat | Featured | Text generation and question answering |
| Generate Embedding | Standard | Converts text into a numeric vector |
Chat
Parameters
| Parameter | Required | Description |
|---|---|---|
| Connection | Yes | The Azure OpenAI connection to use |
| Deployment Name | Yes | The name of the model deployment you created in the Azure portal (the deployment name you assigned, not the model's general name) |
| Message | Yes | The request the model will respond to |
| System Prompt | No | Defines the assistant's behavior |
| Temperature | No | Creativity level |
| Max Tokens | No | Response length limit |
Deployment Name Example
production-chat-model
Example Workflow
Text Input → Azure OpenAI / Chat → Text Output
Sample Output
{
"response": "Per corporate policy, the request should first be routed to the relevant department.",
"deployment": "production-chat-model"
}
Generate Embedding
Parameters
| Parameter | Required | Description |
|---|---|---|
| Connection | Yes | The Azure OpenAI connection to use |
| Deployment Name | Yes | The name of the embedding deployment created in Azure |
| Input Text(s) | Yes | Text to be converted into an embedding; a single text or a separate text per line can be entered |
Example Workflow
Text Input → Azure OpenAI / Generate Embedding → Vector search node
Sample Output
{
"embeddings": [
{ "index": 0, "vector": [0.0156, -0.0298, "..."], "dimensions": 1536 }
],
"deployment": "text-embedding-ada-002"
}
Common Errors
| Error | Possible Cause | Solution |
|---|---|---|
| 401 Unauthorized | API Key is incorrect or the resource does not match | Recheck the Keys and Endpoint information in Azure Portal |
| 404 Deployment not found | Deployment Name is misspelled or the deployment was deleted | Verify the names of active deployments in Azure OpenAI Studio |
| 429 Too Many Requests | The deployment's rate limit (TPM/RPM) was exceeded | Request a quota increase on your Azure resource or reduce request frequency |
| Invalid API Version | The API Version field contains an unsupported value | Use the current API version from the Azure OpenAI documentation |
Notes
- In Azure OpenAI, Deployment Name is used instead of the model name; this lets you manage multiple deployments of the same model under different names (e.g. test/production).
- For projects with corporate data retention and region requirements, Azure OpenAI keeps data in the region where your Azure resource is located.
AWS Bedrock
AWS Bedrock is added to use model families offered through AWS (Anthropic, Meta, Amazon and others).
Connection Setup and Management
Adding the Connection to SkyStudio
- Go to App Connections from the SkyStudio left menu.
- Click Add New Connection.
- Select AWS Bedrock as the provider.
- Fill in the following fields:
| Field | Required | Description |
|---|---|---|
| Connection Name | Yes | A descriptive name (e.g. Company AWS Bedrock) |
| AWS Access Key ID | Yes | The IAM user's access key ID |
| AWS Secret Access Key | Yes | The IAM user's secret access key |
| AWS Region | Yes | The AWS region where Bedrock is enabled (e.g. us-east-1) |
- Click Save.
Note: The IAM user or role used must have the
bedrock:InvokeModelpermission. The connection details depend on your AWS account, the selected region and the relevant access permissions.
Assigning the Connection to the Node
After adding the AWS Bedrock node to the canvas, select your saved connection from the App Connections dropdown in the right panel.
Operations
The AWS Bedrock node offers a single operation:
| Operation | Description |
|---|---|
| Chat | Sends a request to the selected Bedrock model |
Chat
Parameters
| Parameter | Required | Description |
|---|---|---|
| Connection | Yes | The AWS Bedrock connection to use |
| Model ID | Yes | AWS Bedrock model ID |
| Message | Yes | The request the model will respond to |
| System Prompt | No | Determines the model's role and response rules |
| Temperature | No | Response variety |
| Max Tokens | No | Response length limit |
Model ID Example
anthropic.claude-3-5-sonnet-20241022-v2:0
Note: The Model ID must be accessible in the selected AWS region; not every model is offered in every region.
Example Workflow
Text Input → AWS Bedrock / Chat → Text Output
Sample Output
{
"response": "Three recommended steps for cost optimization: usage monitoring, auto scaling and reserved capacity.",
"model_id": "anthropic.claude-3-5-sonnet-20241022-v2:0"
}
Common Errors
| Error | Possible Cause | Solution |
|---|---|---|
| AccessDeniedException | The IAM user/role lacks the bedrock:InvokeModel permission | Add the required policy via AWS IAM |
| ValidationException: model not found | The Model ID is not enabled in the selected region | Check the model's availability by region in the AWS Bedrock console |
| ThrottlingException | Regional request/throughput limit exceeded | Reduce request frequency or request provisioned throughput |
| UnrecognizedClientException | Access Key ID / Secret Access Key is incorrect | Recheck your AWS credentials |
Notes
- In AWS Bedrock, some models must be enabled through a model access request in the AWS console before use; otherwise, the call is rejected even if the model exists.
- For production workflows requiring high-volume, predictable load, using provisioned throughput reduces the risk of ThrottlingException.
Quick Start Examples
Example 1: Meeting Note Summarization
Text Input → OpenAI API Call → Text Output
OpenAI API Call settings:
- Model: GPT-5.4 Mini
- System Prompt:
Summarize the meeting notes. Give decisions and action items under separate headings. - Query: Text Input output via
/
Example 2: Support Request Classification and Routing
Webhook → Anthropic API Call → If-Else Condition ─┬─ Create Issue (Jira)
└─ Send Mail (Outlook)
Anthropic API Call settings:
- System Prompt:
Classify the incoming request as "technical" or "general". Return only one of these words. - Query: Webhook body via
/
Example 3: Report with Up-to-Date Information
Text Input → Claude Web Search → Artifact → Send Mail (Outlook)
Example 4: Multi-Step Analysis
A flow that first summarizes a long document and then interprets it:
File Input → Read Excel → Anthropic API Call (summarize) → OpenAI API Call (generate recommendations) → Text Output
Provider Selection Guide
A general summary of which node may be better suited to which need:
| Need | Recommended Node(s) |
|---|---|
| General-purpose generation, summaries, classification (no connection) | OpenAI API Call, Anthropic API Call, GOAT |
| Long document analysis, careful reasoning | Anthropic API Call (Opus) |
| Rapid prototyping, simple chat without an external account | GOAT |
| Up-to-date, web-based research and sourced answers | Claude Web Search, Perplexity |
| Extracting text from documents/PDFs (OCR) | Mistral AI |
| Semantic search, RAG, similarity matching | Mistral AI, Together AI, Cohere, Azure OpenAI (Generate Embedding) |
| Reranking search results | Cohere |
| Low-latency, real-time chat | Groq |
| Code completion / IDE-like automation | Mistral AI (Codestral), DeepSeek (deepseek-coder) |
| High-volume chat with a cost-performance balance | DeepSeek, Together AI |
| Image generation | xAI (Grok), Gemini, Together AI (FLUX) |
| Content moderation / safety checks | Mistral AI |
| Testing multiple providers from a single connection | OpenRouter |
| Customized use with open-source models | Hugging Face, Together AI |
| Projects with corporate data retention / region requirements | Azure OpenAI, AWS Bedrock |
| Internal / self-hosted model | Custom Model |
Running the Workflow and Using the Result
The working logic is the same for every provider example:
- Type the text to be tested into the Text Input node.
- In the LLM node, check that the correct App Connection, Connection and model are selected.
- Link the Text Input value to the Message, Prompt, Input Text(s) or relevant operation field with
/. - Make sure the incoming connection is Text Input and the next connection is Text Output (or the relevant next node).
- Save the workflow.
- Start the run action on the workflow screen.
- First check the LLM node's result, then the final response in Text Output.
- If an error occurs, first check the API key in the connection, the selected model, model access permissions and the required fields.
The output of chat nodes can be shown directly to the user. The output of embedding, rerank, moderation and image generation nodes, however, should be connected to next nodes suited to its purpose (e.g. embedding output to a vector search node, rerank output to a ranked list node).
Common Errors
The following errors can occur in all LLM nodes. Provider-specific errors are listed in each provider's own section.
| Error | Possible Cause | Solution |
|---|---|---|
| Response comes back in the wrong language | No language specified in the System Prompt | Add "Always respond in English" to the System Prompt |
| Response is too long | No length limit given | Add a word or bullet limit to the System Prompt; lower Max Tokens if available |
| Response is cut off | Max Tokens is set too low | Increase Max Tokens or leave the field blank to use the default |
| Inconsistent response format | Format rule is unclear | Clearly define the output format in the System Prompt |
| Inconsistent/random responses | Temperature is too high | Lower the Temperature value (e.g. 0.2–0.3) |
| Next node cannot process the output | The model also returns explanatory text | Add "return only the result, do not write an explanation" to the System Prompt |
| Empty Query / Message field error | Required field not filled in, or the value linked with / is empty | Enter text in the field or select a non-empty output with / |
| Response is too shallow | A small model is selected | Choose a more capable model (Opus, GPT-5.5) |
| Processing is very slow | Web search or tool use is enabled | If not needed, use a normal LLM node instead of Claude Web Search |
| Tool is not called | The tool's connection is not set up | Resolve the "Connection required" warning in the Tools section |
| 401 / 403 error (BYOK/BYOM) | API key is invalid, expired or the wrong connection is selected | Verify the key in the provider's dashboard; check that the Connection field points to the correct connection |
| 429 / rate limit error (BYOK/BYOM) | Provider's per-minute/daily request limit exceeded | Add a delay between requests or upgrade your provider plan |
| Workflow runs but Text Output is empty | Node connections (Incoming/Next) are set up incorrectly | Verify that the LLM node's input is connected to Text Input and its output to Text Output |
Notes
- Built-in API nodes and GOAT do not require a credential connection; BYOK and BYOM nodes connect to your own account/infrastructure, and usage is billed according to that account's plan.
- The Query (or Message) field defines what to do; the System Prompt defines how to do it. Using both together gives the best results.
- In classification and decision-making steps, write a clear format rule in the System Prompt so that the next If-Else node can read the output correctly.
- Small models (Mini, Nano) are both faster and more economical for simple tasks; do not choose the largest model for every task.
- The Tools feature slows the model down and increases cost; only add the tools you need.
- Claude Web Search should only be used when up-to-date information is needed; otherwise, a normal LLM node is faster.
- Enter API keys only in the connection field; never write them in the Message, System Prompt or Query fields.
- Most errors in BYOK and BYOM nodes stem from connection details (API Key, Endpoint, Deployment Name); when troubleshooting, check the connection first, then the model/parameter fields.
- In workflows moved to production, explicitly setting Temperature and Max Tokens improves consistency across runs.
- You can chain multiple LLM nodes in a flow — for example, to summarize first and then interpret.
- To avoid depending on a single provider in critical processes, design the same workflow to run redundantly with an alternative node (e.g. GOAT, or a different model via OpenRouter).
- Give nodes meaningful names (such as "Summarize", "Classify"); this makes it easier to find the right output in the
/menu.
