SKILL.md
OpenAI Automation
Automate your OpenAI API workflows -- generate text with the Responses API (including multimodal image+text inputs and structured JSON outputs), create embeddings for search and clustering, generate images with DALL-E and GPT Image models, and list available models.
Toolkit docs: composio.dev/toolkits/openai
Setup
- Add the Composio MCP server to your client:
https://rube.app/mcp - Connect your OpenAI account when prompted (API key authentication)
- Start using the workflows below
Core Workflows
1. Generate a Response (Text, Multimodal, Structured)
Use OPENAI_CREATE_RESPONSE for one-shot model responses including text, image analysis, OCR, and structured JSON outputs.
Tool: OPENAI_CREATE_RESPONSE
Inputs:
- model: string (required) -- e.g., "gpt-5", "gpt-4o", "o3-mini"
- input: string | array (required)
Simple: "Explain quantum computing"
Multimodal: [
{ role: "user", content: [
{ type: "input_text", text: "What is in this image?" },
{ type: "input_image", image_url: { url: "https://..." } }
]}
]
- temperature: number (0-2, optional -- not supported with reasoning models)
- max_output_tokens: integer (optional)
- reasoning: { effort: "none" | "minimal" | "low" | "medium" | "high" }
- text: object (structured output config)
- format: { type: "json_schema", name: "...", schema: {...}, strict: true }
- tools: array (function, code_interpreter, file_search, web_search)
- tool_choice: "auto" | "none" | "required" | { type: "function", function: { name: "..." } }
- store: boolean (false to opt out of model distillation)
- stream: boolean
Structured output example: Set text.format to { type: "json_schema", name: "person", schema: { type: "object", properties: { name: { type: "string" }, age: { type: "integer" } }, required: ["name", "age"], additionalProperties: false }, strict: true }.
