OpenAI
The robomotion openai CLI calls the OpenAI API for AI operations. It generates text with GPT models (including vision and function calling), creates images with DALL-E/GPT-Image, synthesizes and transcribes audio, generates embeddings, moderates content, and manages files.
When to use
- Generate text or chat completions with GPT models (including tool use)
- Create or edit images with DALL-E and GPT-Image models
- Convert text to speech or transcribe/translate audio with Whisper
- Generate embeddings, moderate content, and manage uploaded files
Prerequisites
robomotionCLI installed- Package installed:
robomotion install openai - OpenAI API key configured via Robomotion vault
IMPORTANT: Session Mode Required for Multi-Step Operations
Each CLI command runs as a separate process — connection IDs from connect do NOT persist across calls.
You MUST use --session on connect and pass --session-id to all subsequent commands.
Workflow
- Install (once):
robomotion install openai - Connect with session:
robomotion openai connect_openai --session --output json # → {"outConnectionId":"<connection-id>","session_id":"<session-id>"} - Use the returned
connection-idandsession-idin all subsequent commands:robomotion openai generate_text --connection-id "<connection-id>" --user-prompt <prompt> --session-id "<session-id>" --output json - Disconnect when done:
robomotion openai disconnect_openai --connection-id "<connection-id>" --session-id "<session-id>" --output json
Always append --output json to get structured JSON results.
Commands Reference
robomotion openai connect_openai --session --output jsonConnect to OpenAI API and create a client session for AI operationsrobomotion openai disconnect_openai --connection-id --session-id "<session-id>" --output jsonDisconnect from OpenAI API and release the client sessionrobomotion openai generate_text --connection-id --you-are-a-helpful-assistant- --user-prompt --history --tool-message --image-url --images [--model] [--custom-model] [--number-of-generations] [--temperature] [--top-p] [--max-tokens] [--frequency-penalty] [--presence-penalty] [--stop-sequences] [--reasoning-effort] [--image-detail] [--functions] [--tools-choice] [--seed] [--user] [--120] --session-id "<session-id>" --output jsonGenerate text completions using OpenAI language models with optional vision and tool callingrobomotion openai generate_image --connection-id --prompt [--model] [--number-of-images] [--size] [--quality] [--style] [--background] [--output-format] [--user] [--120] --session-id "<session-id>" --output jsonGenerate images using OpenAI DALL-E and GPT-Image modelsrobomotion openai edit_image --connection-id --image-path --mask-path --prompt [--model] [--number-of-images] [--size] [--user] [--120] --session-id "<session-id>" --output jsonEdit an existing image based on a text prompt using DALL-E or GPT-Image modelsrobomotion openai create_image_variation --connection-id --image-path [--model] [--number-of-images] [--size] [--user] [--120] --session-id "<session-id>" --output jsonCreate variations of an existing image using DALL-E 2robomotion openai generate_speech --connection-id --text [--model] [--voice] [--format] [--1-0] [--instructions] [--120] --session-id "<session-id>" --output jsonConvert text to speech using OpenAI TTS modelsrobomotion openai transcribe_audio --connection-id --audio-file [--model] [--language] [--prompt] [--0] [--120] --session-id "<session-id>" --output jsonTranscribe audio to text using OpenAI Whisper and GPT-4o transcription modelsrobomotion openai translate_audio --connection-id --audio-file [--model] [--prompt] [--0] [--120] --session-id "<session-id>" --output jsonTranslate audio to English text using OpenAI Whisper modelrobomotion openai generate_embedding --connection-id --text [--model] [--custom-model] [--dimensions] [--user] --session-id "<session-id>" --output jsonGenerate vector embeddings from text using OpenAI embedding modelsrobomotion openai generate_batch_embeddings --connection-id --texts [--model] [--custom-model] [--dimensions] [--user] --session-id "<session-id>" --output jsonGenerate vector embeddings for multiple texts in a single batch requestrobomotion openai similarity --connection-id --search-embeddings-csv --content-embeddings-csv [--5] --session-id "<session-id>" --output jsonCalculate cosine similarity between embeddings to find most relevant contentrobomotion openai moderate --connection-id --text [--model] --session-id "<session-id>" --output jsonCheck text content for policy violations using OpenAI moderation modelsrobomotion openai list_models --connection-id --session-id "<session-id>" --output jsonList available OpenAI models with their detailsrobomotion openai retrieve_model --connection-id --gpt-5-mini --session-id "<session-id>" --output jsonRetrieve detailed information about a specific OpenAI modelrobomotion openai upload_file --connection-id --file-path [--purpose] --session-id "<session-id>" --output jsonUpload a file to OpenAI file storage for use with assistants or fine-tuningrobomotion openai list_files --connection-id [--purpose-filter] --session-id "<session-id>" --output jsonList all files uploaded to OpenAI file storagerobomotion openai retrieve_file_metadata --connection-id --file-id --session-id "<session-id>" --output jsonRetrieve metadata about a file in OpenAI file storagerobomotion openai download_file --connection-id --file-id --session-id "<session-id>" --output jsonDownload a file from OpenAI file storage to local filesystemrobomotion openai delete_file --connection-id --file-id --session-id "<session-id>" --output jsonDelete a file from OpenAI file storage
Environment
- ROBOMOTION_API_TOKEN (if vault credentials are needed)