{"id":20633441,"url":"https://github.com/duanemay/chatgpt-cli","last_synced_at":"2026-05-25T02:04:32.706Z","repository":{"id":179614741,"uuid":"663302891","full_name":"duanemay/chatgpt-cli","owner":"duanemay","description":"Interact with ChatGPT directly from your command line","archived":false,"fork":false,"pushed_at":"2026-05-09T00:07:30.000Z","size":19006,"stargazers_count":31,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-05-09T02:23:40.832Z","etag":null,"topics":["ai","chatgpt","cli","golang","golang-application"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/duanemay.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-07-07T02:24:40.000Z","updated_at":"2026-05-09T00:06:31.000Z","dependencies_parsed_at":null,"dependency_job_id":"4b5f2100-613d-42c2-9117-e398f3dbd870","html_url":"https://github.com/duanemay/chatgpt-cli","commit_stats":null,"previous_names":["duanemay/chatgpt-cli"],"tags_count":40,"template":false,"template_full_name":null,"purl":"pkg:github/duanemay/chatgpt-cli","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/duanemay%2Fchatgpt-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/duanemay%2Fchatgpt-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/duanemay%2Fchatgpt-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/duanemay%2Fchatgpt-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/duanemay","download_url":"https://codeload.github.com/duanemay/chatgpt-cli/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/duanemay%2Fchatgpt-cli/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33245419,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-20T03:30:51.439Z","status":"ssl_error","status_checked_at":"2026-05-20T03:30:49.443Z","response_time":356,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","chatgpt","cli","golang","golang-application"],"created_at":"2024-11-16T14:20:23.044Z","updated_at":"2026-05-20T04:02:31.618Z","avatar_url":"https://github.com/duanemay.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"# User Guide - ChatGPT Command-Line Interface (CLI)\n\nThe ChatGPT CLI allows you to interact with ChatGPT directly from your command line, offering an efficient platform for real-time communication. This user guide will provide you with simple, straightforward instructions on how to install, set up, and effectively use the CLI.\n\n## Table of Contents\n\u003c!-- TOC --\u003e\n* [User Guide - ChatGPT Command-Line Interface (CLI)](#user-guide---chatgpt-command-line-interface-cli)\n  * [Table of Contents](#table-of-contents)\n  * [Examples](#examples)\n    * [Simple Interactive Chat](#simple-interactive-chat)\n    * [Ask a Question, non-Interactively](#ask-a-question-non-interactively)\n    * [Improving README, non-Interactively](#improving-readme-non-interactively)\n    * [Editing a directory full of notes, non-Interactively](#editing-a-directory-full-of-notes-non-interactively)\n    * [Image Generation and Vision Chat](#image-generation-and-vision-chat)\n    * [Generate an Image, non-Interactively](#generate-an-image-non-interactively)\n    * [Generate an Audio file from Text (Text to Speech)](#generate-an-audio-file-from-text-text-to-speech)\n    * [Generate Embeddings](#generate-embeddings)\n  * [Installation](#installation)\n    * [Using Homebrew (MacOS and Linux)](#using-homebrew-macos-and-linux)\n    * [Direct Download](#direct-download)\n      * [MacOS Apple Silicon](#macos-apple-silicon)\n      * [MacOS Intel](#macos-intel)\n      * [Linux (x86_64)](#linux-x86_64)\n      * [Linux (arm64)](#linux-arm64)\n      * [Linux (i386)](#linux-i386)\n      * [Windows](#windows)\n    * [Generating Cover Images for a directory full of notes, non-Interactively](#generating-cover-images-for-a-directory-full-of-notes-non-interactively)\n  * [Initial Set Up](#initial-set-up)\n  * [Configuration Settings](#configuration-settings)\n  * [Usage](#usage)\n    * [Chatting](#chatting)\n    * [Replaying a Session](#replaying-a-session)\n    * [Refer to an image in a Chat](#refer-to-an-image-in-a-chat)\n    * [Generating Images](#generating-images)\n    * [Generating Text to Speech](#generating-text-to-speech)\n    * [Transcribing Audio to Text](#transcribing-audio-to-text)\n    * [Generating Embeddings](#generating-embeddings)\n    * [Listing Models](#listing-models)\n    * [Checking the Version](#checking-the-version)\n  * [Build and Release](#build-and-release)\n  * [Running Tests](#running-tests)\n\u003c!-- TOC --\u003e\n\n## Examples\n\n### Simple Interactive Chat\n\n![Translation Demo](docs/translation-demo.gif)\n\n### Ask a Question, non-Interactively\n\n```bash\n{ echo \"What is the largest file in this directory?\"; ls -l } | chatgpt-cli chat\n```\n\n### Improving README, non-Interactively\n\n```bash\necho \"Rewrite this README file as a user guide. Make it easy to read and informative. Use a helpful and clear style\" \\\n  | chatgpt-cli chat \u003c README.md \u003e README-new.md\nmv README-new.md README.md\n```\n\n### Editing a directory full of notes, non-Interactively\n```bash\nfor file in notes/*.md; do\n  printf \"\\nEditing '%s'\\n============================\\n\" \"$file\"\n  {\n    printf \"Revise my notes. \"\n    printf \"Use Markdown format. \"\n    printf \"Revise the text of the note below to use a clear and informative style. \"\n    printf \"Use newlines to keep line length less than 120 characters.\\n\\n\"\n    cat \"${file}\"\n  } | chatgpt-cli chat \u003e \"${file}.new\"\n\n  if [ $? -ne 0 ]; then\n    printf \"  Request Failed: '%s'\\n\" \"${file}\"\n    rm \"${file}.new\"\n  else\n    mv \"${file}.new\" \"${file}\"\n  fi\ndone\n```\n\n### Image Generation and Vision Chat\n\n![Image Demo](docs/image-demo.gif)\n\nWhich gives us the resulting image.\n\n![Result for requesting an image “white maltipoo dressed in a shark costume”](docs/maltipoo-01.png)\n\n### Generate an Image, non-Interactively\n\n```bash\necho \"Monkey in a banana costume, on a high wire above a circus\" | chatgpt-cli image -o monkey\n```\n\nIn non-Interactive mode only the name of the output files are sent to stdout.\nIn this case, monkey-01.png, shown here.\n\n![Result for requesting an image “Monkey in a banana costume, on a high wire above a circus”](docs/monkey-01.png)\n\n\n```bash\necho \"What is in this image?\" | chatgpt-cli vision --file monkey-01.png\n```\n\nThis will upload the image to ChatGPT for use in the chat, and use it to answer the question.\nYou might get a response like this:\n\n```\nThe image depicts a whimsical circus scene with a monkey in a banana suit balancing on a tightrope. The atmosphere is lively, with a large audience in tents watching the performance. The setting has bright lights and colorful decorations, capturing the festive spirit of a circus.                                                                                                                                              \n```\n\n### Generate an Audio file from Text (Text to Speech)\n\n![Speech Demo](docs/speech-demo.gif)\n\nWhich gives us the resulting audio file.\n\n\nhttps://github.com/duanemay/chatgpt-cli/assets/991170/bb629736-3dc1-4ee1-99f8-1a93646c60da\n\nAnd similarly, you can do this non-Interactively\n\n```bash\necho \"Hello, I am a robot. I am here to help you with your tasks.\" | chatgpt-cli speech\n```\n\n### Generate Embeddings\n\n```bash\necho \"The quick brown fox jumps over the lazy dog\" | chatgpt-cli embedding\n```\n\nThis will generate an embedding vector for the input text. The output is JSON containing the model, dimensions, embedding vectors, and token usage.\n\nYou can also specify a different model or custom dimensions:\n\n```bash\necho \"The quick brown fox jumps over the lazy dog\" | chatgpt-cli embedding --model text-embedding-3-large --dimensions 256\n```\n\n## Installation\n\n### Using Homebrew (MacOS and Linux)\n\nTo install ChatGPT CLI using Homebrew:\n\n```bash\nbrew tap duanemay/tap\nbrew install --cask duanemay/tap/chatgpt-cli\n```\n\nIf you currently have ChatGPT CLI installed via Homebrew formula, \nplease run these steps to migrate to the cask:\n\n```bash\nbrew uninstall duanemay/tap/chatgpt-cli\nbrew install --cask duanemay/tap/chatgpt-cli\n```\n\n### Direct Download\n\nYou can download the pre-built binary for your operating\nsystem and architecture from the GitHub releases page: \n[https://github.com/duanemay/chatgpt-cli/releases](https://github.com/duanemay/chatgpt-cli/releases).\n\nChoose the command below that matches your system. \nEach command will download the binary, make it executable, and move it to your\n/usr/local/bin directory.\n\n#### MacOS Apple Silicon\n\n```shell\ncurl -L -o chatgpt-cli https://github.com/duanemay/chatgpt-cli/releases/latest/download/chatgpt-cli_darwin_arm64 \u0026\u0026 chmod +x chatgpt-cli \u0026\u0026 sudo mv chatgpt-cli /usr/local/bin/\n```\n\n#### MacOS Intel\n\n```shell\ncurl -L -o chatgpt-cli https://github.com/duanemay/chatgpt-cli/releases/latest/download/chatgpt-cli_darwin_x86_64 \u0026\u0026 chmod +x chatgpt-cli \u0026\u0026 sudo mv chatgpt-cli /usr/local/bin/\n```\n\n#### Linux (x86_64)\n\n```shell\ncurl -L -o chatgpt-cli https://github.com/duanemay/chatgpt-cli/releases/latest/download/chatgpt-cli_linux_x86_64 \u0026\u0026 chmod +x chatgpt-cli \u0026\u0026 sudo mv chatgpt-cli /usr/local/bin/\n```\n\n#### Linux (arm64)\n\n```shell\ncurl -L -o chatgpt-cli https://github.com/duanemay/chatgpt-cli/releases/latest/download/chatgpt-cli_linux_arm64 \u0026\u0026 chmod +x chatgpt-cli \u0026\u0026 sudo mv chatgpt-cli /usr/local/bin/\n```\n\n#### Linux (i386)\n\n```shell\ncurl -L -o chatgpt-cli https://github.com/duanemay/chatgpt-cli/releases/latest/download/chatgpt-cli_linux_i386 \u0026\u0026 chmod +x chatgpt-cli \u0026\u0026 sudo mv chatgpt-cli /usr/local/bin/\n```\n\n#### Windows\n\nDownload one of the binaries below that matches your architecture, rename it to chatgpt-cli,  and add it to your PATH.\n* [chatgpt-cli_windows_arm64.exe](https://github.com/duanemay/chatgpt-cli/releases/latest/download/chatgpt-cli_windows_arm64.exe)\n* [chatgpt-cli_windows_i386.exe](https://github.com/duanemay/chatgpt-cli/releases/latest/download/chatgpt-cli_windows_i386.exe)\n* [chatgpt-cli_windows_x86_64.exe](https://github.com/duanemay/chatgpt-cli/releases/latest/download/chatgpt-cli_windows_x86_64.exe)\n\n### Generating Cover Images for a directory full of notes, non-Interactively\n```bash\nfor file in notes/*.md; do\n  dir=$(dirname \"${file}\")\n  filename=$(basename \"${file}\")\n  base_filename=${filename%.*}\n\n  printf \"\\nCreating Images '%s'\\n============================\\n\" \"$file\"\n  {\n    printf \"Describe the contents of an image that would make a good cover image for the blog post below.\\n\\n\"\n    cat \"${file}\"\n  } | chatgpt-cli chat --system-message \"As an expert creator of blog posts\" \u003e \"${dir}/${base_filename}-img-description.txt\"\n\n  if [ $? -ne 0 ]; then\n    printf \"  Request Failed: '%s'\\n\" \"${file}\"\n    rm \"${dir}/${base_filename}-img-description.txt\"\n    continue\n  fi\n\n  chatgpt_file=$( ls chatgpt-cli* | tail -1 )\n  grep -A 1 user \"${chatgpt_file}\" | grep '\"content\":' | cut -d':' -f 2 | sed 's/\"//g'\n  cat \"${dir}/${base_filename}-img-description.txt\" | chatgpt-cli image -o \"${dir}/${base_filename}-img\"\ndone\n```\n\n## Initial Set Up\n\nTo use the ChatGPT CLI, you'll need a ChatGPT API key. You can generate this key by signing up on the [OpenAI platform](https://platform.openai.com/account/api-keys). ChatGPT CLI now supports Project API keys which have replaced user API keys. In addition, you will need to add funds to your account.\n\nIt is recommended to create a `.chatgpt-cli` file in your home directory or the directory where you'll run the CLI. Inside this file, include your API key alongside additional default settings you wish to use.\n\nExample:\n\n```env\nAPI_KEY=sk-mysupersecretAPIkey\n```\n\n## Configuration Settings\n\nThe priority order for the configuration settings is as follows:\n\n```\nCommand line flags \u003e Environment Variables \u003e Configuration files \u003e Defaults\n```\n\nEach flag can be set in a configuration file, by changing it to uppercase and replacing `-` with `_`. \nEnvironment variables are the same as the configuration file flag, with the addition of the prefix `CHATGPT_`.\n\nAs an example, the `--api-key sk` command line flag can be set in a configuration file as `API_KEY=sk`, and as an environment variable as `CHATGPT_API_KEY=sk`.\n\nThe full list of available flags and corresponding config file variables:\n\n*Common Flags:*\n\n| Flag         | Short | Config File Key  | Default                                | Description          |\n|--------------|-------|------------------|----------------------------------------|----------------------|\n| `--api-key`  | `-k`  | `API_KEY`        | **Required**                           | ChatGPT API Key      |\n| `--config`   | `-c`  | `CONFIG`         | ./.chatgpt-cli then $HOME/.chatgpt-cli | Config file to load  |\n| `--verbose`  | `-v`  | `VERBOSE`        | `false`                                | Verbose logging      |\n\n*Chat Flags:*\n\n| Flag                   | Short | Config File Key      | Default               | Description                            |\n|------------------------|-------|----------------------|-----------------------|----------------------------------------|\n| `--system-message`     |       |                      | ``                    | Initial System message sent to ChatGPT |\n| `--session-file`       | `-s`  | `SESSION_FILE`       | Generated             | Session file                           |\n| `--skip-write-session` |       | `SKIP_WRITE_SESSION` | false                 | Do not write or update session file    |\n| `--model`              | `-m`  | `MODEL`              | `gpt-5-chat-latest`   | Model to use (default will change)     |\n| `--role`               | `-r`  | `ROLE`               | `user`                | Role of User                           |\n| `--temperature`        |       | `TEMPERATURE`        | `1.0`                 | Temperature: 0-2                       |\n| `--max-tokens`         |       | `MAX_TOKENS`         | `0`                   | Max tokens                             |\n| `--top-p`              |       | `TOP_P`              | `1.0`                 | Top P: 0-1                             |\n\n*Image Flags:*\n\n| Flag              | Short | Config File Key | Default       | Description                  |\n|-------------------|-------|-----------------|---------------|------------------------------|\n| `--model`         | `-m`  | `MODEL`         | `gpt-image-1` | Model to use                 |\n| `--number`        | `-n`  |                 | `1`           | Number of images to generate |\n| `--quality`       |       | `QUALITY`       | `high`        | Image Quality                |\n| `--size`          | `-s`  | `SIZE`          | 1024x1024     | Image Size                   |\n| `--style`         |       | `STYLE`         | `vivid`       | Image Style                  |\n| `--output-prefix` | `-o`  | `OUTPUT_PREFIX` | Generated     | File Name Prefix             |\n\n*Speech Flags:*\n\n| Flag              | Short | Config File Key | Default   | Description                 |\n|-------------------|-------|-----------------|-----------|-----------------------------|\n| `--model`         | `-m`  | `MODEL`         | `tts-1`   | Text to Speech Model to use |\n| `--speed`         | `-s`  |                 | `1`       | Speed of Audio              |\n| `--voice`         |       | `VOICE`         | `alloy`   | Voice Used                  |\n| `--output-prefix` | `-o`  | `OUTPUT_PREFIX` | Generated | File Name Prefix            |\n\n*Vision Flags:*\n\n| Flag                   | Short | Config File Key      | Default             | Description                            |\n|------------------------|-------|----------------------|---------------------|----------------------------------------|\n| `--file`               | `-f`  | `FILE`               | required            | Input image files                      |\n| `--model`              | `-m`  | `MODEL`              | `gpt-5-chat-latest` | Model to use (default will change)     |\n| `--detail`             | `-d`  | `DETAIL`             | `auto`              | Image detail level (low, high, auto)   |\n| `--system-message`     |       |                      | ``                  | Initial System message sent to ChatGPT |\n| `--session-file`       | `-s`  | `SESSION_FILE`       | Generated           | Session file                           |\n| `--skip-write-session` |       | `SKIP_WRITE_SESSION` | false               | Do not write or update session file    |\n| `--role`               | `-r`  | `ROLE`               | `user`              | Role of User                           |\n\n*Transcription Flags:*\n\n| Flag               | Short | Config File Key | Default     | Description                    |\n|--------------------|-------|-----------------|-------------|--------------------------------|\n| `--file`           | `-f`  | `FILE`          | required    | Input audio files              |\n| `--model`          | `-m`  | `MODEL`         | `whisper-1` | Transcription Model to use     |\n| `--language`       | `-l`  | `LANGUAGE`      | detected    | Language of the input audio    |\n| `--system-message` |       |                 | ``          | Initial Prompt sent to ChatGPT |\n\n*Embedding Flags:*\n\n| Flag             | Short | Config File Key | Default                    | Description                                                                                        |\n|------------------|-------|-----------------|----------------------------|----------------------------------------------------------------------------------------------------|\n| `--model`        | `-m`  | `MODEL`         | `text-embedding-3-small`   | Embedding model to use. Must be one of text-embedding-3-small, text-embedding-3-large, or text-embedding-ada-002 |\n| `--dimensions`   | `-d`  | `DIMENSIONS`    | `0` (model default)        | Number of dimensions for the output embeddings                                                     |\n\nFor instance, if you want to change the end of the message and session markers, modify them in your configuration file.\n\nYou can select a different configuration file using `--config` flag. Each config file should specify settings as `KEY=VALUE` pairs, with each pair on a separate line. Lines beginning with `#` are considered comments and ignored.\n\n## Usage\n\nThe basic command to use `chatgpt-cli` is as follows:\n\n```bash\nchatgpt-cli [command]\n```\n\nThe available commands are as follows:\n\n1. `chat`: Start a chat session with ChatGPT.\n2. `vision`: Upload an image to ChatGPT for use in chat.\n3. `image`: Generate an image\n4. `speech`: Generate speech using ChatGPT\n4. `transcribe`: Transcribe audio to text using ChatGPT\n5. `embedding`: Generate embeddings for input text\n5. `completion`: Generate the autocomplete script for your chosen shell.\n6. `help`: Seek help regarding any command.\n7. `list-models`: Retrieve a list of all models available to your account.\n8. `replay-session`: Replay a chat session from a previously saved file.\n7`version`: Get version information.\n\n### Chatting\n\nInitiate a chat session with ChatGPT using the `chat` command:\n\n```bash\nchatgpt-cli chat\n```\n\nYou'll be prompted to input your message, which can span multiple lines. Send your message with TAB or CTRL+C.\n\nContinue your conversation with ChatGPT by inputting a new message once you receive a response.\n\nExiting the chat is made possible by inputting CTRL+C or TAB with no message. \n\nAll chat sessions are saved in a session file, for which the `--session-file` flag can specify the file of your choice:\n\n```bash\nchatgpt-cli chat --session-file session.json\n```\n\nThe `--model`, `--role`, `--temperature`, `--max-tokens`, and `--top-p` flags allow for individual configuration of the Model, Role, Temperature, Max Tokens, and Top P respectively. The default `--model` used will be updated overtime as new models are released.\n\nA system prompt can be set by using the `--system-message` flag:\n\n```bash\nchatgpt-cli chat --system-message \"You are a captivating storyteller who brings history to life by narrating the events, people, and cultures of the past.\"\n```\n\n### Replaying a Session\n\nReplaying a chat session lets you revisit a previous chat in a more readable format than the raw JSON. Use the `replay-session` command:\n\n```bash\nchatgpt-cli replay-session --session-file session.json\n```\n\n### Refer to an image in a Chat\n\nInitiate a chat with images uploaded to ChatGPT using the `vision` command:\n\n```bash\nchatgpt-cli vision --file image.jpg --file image2.jpg\n```\n\nThis will upload the image to ChatGPT for use in the chat.\nIt also supports the session file, you can start a chat with `chat`, use `vision` to upload a file, and then continue to ask more questions with `chat` by linking with a `--session-file` between commands.\n\nYou'll be prompted to input your message, which can span multiple lines. Send your message with TAB or CTRL+C.\n\n### Generating Images\n\nGenerate an image with GPT-Image-1 or DALL-E using the `image` command:\n\n```bash\nchatgpt-cli image\n```\n\nYou'll be prompted to input your description of an image, which can span multiple lines. Send your description with TAB or CTRL+C.\n\nExiting the chat is made possible by inputting CTRL+C or TAB with no description.\n\nAll images are saved with a prefix in the form `image-DATE-TIME-nn.png` where DATE-TIME is the timestamp when the session started, and nn for the image number from the session. You can override the ``--output-prefix`` or `-o` flags.\n\nYou can control how many variants of the requested images to generate with the `--number` or `-n` flag. The Number of Images must be between 1 and 10, inclusive.\n \nYou can control the size of the requested images with the `--size` or `-s` flag. The allowed sizes vary based on the model used.\n\n### Generating Text to Speech\n\nGenerate an audio file, reading some text using the `speech` command:\n\n```bash\nchatgpt-cli speech\n```\n\nYou'll be prompted to input the text you would like to read, which can span multiple lines. Send your description with TAB or CTRL+C.\n\nExiting the chat is made possible by inputting CTRL+C or TAB with no description.\n\nAudio files are saved with a prefix in the form `tts-DATE-TIME-nn.mp3` where DATE-TIME is the timestamp when the session started, and nn for the image number from the session. You can override the ``--output-prefix`` or `-o` flags.\n\nYou can control the speed of the audio with the `--speed` or `-s` flag. The speed must be between 0.25 and 4.0, inclusive.\nYou can control the voice of the audio with the `--voice` or `-v` flag. The voice must be one of alloy, echo, fable, onyx, nova, or shimmer.\nYou can control the TTS model with the `--model` or `-m` flag. The model must be one of tts-1, tts-1-hd, or canary-tts.\n\n### Transcribing Audio to Text\n\nTranscribe text from an audio file using the `transcribe` command:\n\n```bash\nchatgpt-cli transcribe --file audio.mp3\n```\n\nAudio files are accepted in the following formats: flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, or webm.\n\nYou can indicate the language of the input audio with the `--language` or `-l` flag. Supplying the input language in ISO-639-1 format will improve accuracy and latency.\nYou can control the speech to text model with the `--model` or `-m` flag. Currently only whisper-1 is allowed.\nOptional prompt to guide the model's style or continue a previous audio segment, can be set by using the `--system-message` flag. The prompt should match the audio language.\n\n### Generating Embeddings\n\nGenerate embeddings for input text using the `embedding` command:\n\n```bash\nchatgpt-cli embedding\n```\n\nYou'll be prompted to input your text, which can span multiple lines. Send your text with TAB or CTRL+C.\n\nThe output is a JSON object containing the model used, the number of dimensions, the embedding vector(s), and token usage information.\n\nYou can control the embedding model with the `--model` or `-m` flag. The model must be one of `text-embedding-3-small`, `text-embedding-3-large`, or `text-embedding-ada-002`.\n\nYou can control the number of output dimensions with the `--dimensions` or `-d` flag. Set to `0` (the default) to use the model's default dimensions. This is useful for reducing the size of the embedding vectors when using `text-embedding-3-small` or `text-embedding-3-large`.\n\nYou can also pipe text directly:\n\n```bash\necho \"Some text to embed\" | chatgpt-cli embedding\n```\n\nThe command also supports the alias `embed`:\n\n```bash\necho \"Some text to embed\" | chatgpt-cli embed\n```\n\n### Listing Models\n\n`list-models` retrieves a list of all available models related to your account:\n\n```bash\nchatgpt-cli list-models\n```\n\n### Checking the Version\n\nFetch information about the CLI's version using `version`:\n\n```bash\nchatgpt-cli version\n```\n\n## Build and Release\n\nFor a dry-run of the deployment process, you can run the following:\n\n```bash\ngoreleaser --snapshot --skip=publish --clean\n```\n\nFor a full deployment, you'll need to add a GitHub token to the `./.github_token` file, then run the following:\n\n```bash\ngit tag \u003cvNewVersion\u003e\ngoreleaser --clean\nbrew upgrade\n\ndocs/generate-demos.sh\n```\n\n## Running Tests\n\nTo avoid running tests that use an API key, run:\n\n```bash\nmake test\n```\n\nTo run the full test suite, including ones requires an API key to be set in the HOME directory.\n```bash\nmake test-all\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fduanemay%2Fchatgpt-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fduanemay%2Fchatgpt-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fduanemay%2Fchatgpt-cli/lists"}