AI | Raycast API
AI
The AI API provides developers with seamless access to AI functionality without requiring API keys, configuration, or extra dependencies.
Some users might not have access to this API. If a user doesn't have access to Raycast Pro, they will be asked if they want to get access when your extension calls the AI API. If the user doesn't wish to get access, the API call will throw an error.
You can check if a user has access to the API using environment.canAccess(AI).
Ask AI anything you want. Use this in “no-view” Commands, effects, or callbacks. In a React component, you might want to use the useAI util hook instead.
async function ask(prompt: string, options?: AskOptions): Promise<string> & EventEmitter;import { AI, Clipboard } from "@raycast/api";
export default async function command() {
const answer = await AI.ask("Suggest 5 jazz songs");
await Clipboard.copy(answer);
}import { AI, showToast, Toast } from "@raycast/api";
export default async function command() {
try {
await AI.ask("Suggest 5 jazz songs");
} catch (error) {
// Handle error here, eg: by showing a Toast
await showToast({
style: Toast.Style.Failure,
title: "Failed to generate answer",
});
}
}import { AI, getSelectedFinderItems, showHUD } from "@raycast/api";
import fs from "fs";
export default async function main() {
let allData = "";
const [file] = await getSelectedFinderItems();
const answer = AI.ask("Suggest 5 jazz songs");
// Listen to "data" event to stream the answer
answer.on("data", async (data) => {
allData += data;
await fs.promises.writeFile(`${file.path}`, allData.trim(), "utf-8");
});
await answer;
await showHUD("Done!");
}The prompt to ask the AI.
Options to control which and how the AI model should behave.
A Promise that resolves with a prompt completion.
Concrete tasks, such as fixing grammar, require less creativity while open-ended questions, such as generating ideas, require more.
If a number is passed, it needs to be in the range 0-2. For larger values, 2 will be used. For lower values, 0 will be used.
The AI model to use to answer to the prompt. Defaults to AI.Model["OpenAI_GPT-4o_mini"].
OpenAI's latest model, great for well-defined tasks and precise prompts.
OpenAI's latest model, great for summarization and classification tasks.
OpenAI's flagship model optimized for complex problem solving.
Balanced GPT-4.1 variant optimized for speed and cost efficiency.
Fastest and most cost-effective GPT-4.1 variant.
Previous generation GPT-4 model with broad knowledge and complex instruction handling.
Previous generation GPT-4 with expanded context window.
Advanced OpenAI model optimized for speed and complex problem solving.
Fast and intelligent model for everyday tasks.
OpenAI's latest model, great for coding and agentic tasks across domains.
OpenAI's model optimized for agentic coding tasks in Codex and similar environments.
OpenAI's model with adaptive reasoning, great for coding and agentic tasks across domains.
A version of GPT-5.1 optimized for agentic coding tasks in Codex or similar environments.
OpenAI's fastest GPT-5.1 model with adaptive reasoning, optimized for speed and efficiency.
OpenAI's most capable model for professional work and long-running agents with state-of-the-art tool-calling.
OpenAI's fast, capable model for everyday work with improved info-seeking, how-tos, and technical writing.
Advanced model excelling in math, science, coding, and visual tasks.
Fast, efficient model optimized for coding and visual tasks.
Advanced reasoning model for complex STEM problems.
Fast reasoning model optimized for STEM tasks.
OpenAI's first open-source model, 20b variant.
OpenAI's first open-source model, 120b variant.
Anthropic_Claude_4.5_Haiku
Anthropic's offering focusing on being the best combination of performance and speed.
Anthropic_Claude_4_Sonnet
Anthropic's most intelligent model.
Anthropic_Claude_4.5_Sonnet
Anthropic's most intelligent model with the highest intelligence across most tasks.
Anthropic's model for complex tasks with exceptional fluency.
Anthropic_Claude_4.1_Opus
Anthropic's model for complex tasks with exceptional fluency.
Anthropic_Claude_4.5_Opus
Anthropic's model for complex tasks with exceptional fluency.
Fast Perplexity model with integrated search capabilities.
Advanced Perplexity model for complex queries with search integration.
Advanced 17B parameter multimodal model with 16 experts.
Meta's state-of-the-art model for reasoning and general knowledge.
Fast, instruction-optimized open-source model.
Together_AI_Llama_3.1_405B
Meta's flagship model with advanced capabilities across multiple domains.
Small, Apache-licensed model built with NVIDIA.
Top-tier reasoning model with strong multilingual support.
A powerful, cost-effective, frontier-class multimodal model.
Latest enterprise-grade small model with improved reasoning.
Specialized model for code-related tasks and testing.
Kimi K2 is a powerful and versatile AI model designed for a wide range of tasks.
The latest generation of large language models in the Qwen series.
Fast thinking model with strong balance of speed, performance, and value.
Advanced thinking model for complex problem solving.
Advanced thinking model for complex problem solving.
Fast, well-rounded thinking model.
Google_Gemini_2.5_Flash_Lite
Fast model optimized for large-scale text output.
Together_AI_Qwen3-235B-A22B-Instruct-2507-tput
A varied model with enhanced reasoning.
Open-source model matching OpenAI-o1 performance.
Advanced Mixture-of-Experts model.
xAI's best agentic tool calling model that shines in real-world use cases like customer support and deep research.
Advanced language model with enhanced reasoning and tool capabilities.
xAI's latest advancement in cost-efficient reasoning models.
Grok Code Fast 1 is xAI's Coding Agent focused model
Enterprise-focused model for data, coding, and summarization tasks.
Fast, lightweight model for logic-based tasks.
If a model isn't available to the user (or has been disabled by the user), Raycast will fallback to a similar one.
Concrete tasks, such as fixing grammar, require less creativity while open-ended questions, such as generating ideas, require more. If a number is passed, it needs to be in the range 0-2. For larger values, 2 will be used. For lower values, 0 will be used.
The AI model to use to answer to the prompt.
Abort signal to cancel the request.
import { AI, getSelectedFinderItems, showHUD } from "@raycast/api";
import fs from "fs";
export default async function main() {
let allData = "";
const [file] = await getSelectedFinderItems();
// If you're doing something that happens in the background
// Consider showing a HUD or a Toast as the first step
// To give users feedback about what's happening
await showHUD("Generating answer...");
const answer = await AI.ask("Suggest 5 jazz songs");
await fs.promises.writeFile(`${file.path}`, allData.trim(), "utf-8");
// Then, when everythig is done, notify the user again
await showHUD("Done!");
}import { AI, getSelectedFinderItems, showHUD, environment } from "@raycast/api";
import fs from "fs";
export default async function main() {
if (environment.canAccess(AI)) {
const answer = await AI.ask("Suggest 5 jazz songs");
await Clipboard.copy(answer);
} else {
await showHUD("You don't have access :(");
}
}type Creativity = "none" | "low" | "medium" | "high" | "maximum" | number;