-
Notifications
You must be signed in to change notification settings - Fork 4.1k
Closed as not planned
Closed as not planned
Copy link
Labels
bugSomething isn't workingSomething isn't working
Description
Confirm this is an issue with the Python library and not an underlying OpenAI API
- This is an issue with the Python library
Describe the bug
When using the AzureOpenAI client from the openai Python package with the audio.speech.create(...)
or audio.speech.with_streaming_response.create(...)
methods, passing an instructions argument results in a Python TypeError. However, the official OpenAI API docs show instructions as a supported parameter for text-to-speech.
when I send a curl request with instructions in data field, it works as well, so I'm guessing its not an endpoint issue but rather AzureOpenAI client?
To Reproduce
- Run the code snipper below
from openai import AzureOpenAI
import os
client = AzureOpenAI(
azure_endpoint=os.getenv("AZURE_OPENAI_ENDPOINT"),
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2025‑03‑01‑preview"
)
with client.audio.speech.with_streaming_response.create(
model="gpt‑4o‑mini‑tts",
voice="coral",
input="Today is a wonderful day!",
instructions="Speak in a cheerful and positive tone."
) as resp:
resp.stream_to_file("out.mp3")
Output:
TypeError: Speech.create() got an unexpected keyword argument 'instructions'
Code snippets
This works well:
curl -X POST "https://xxxx.cognitiveservices.azure.com/openai/deployments/tts/audio/speech..." \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $API_KEY" \
-d '{
"model": "tts",
"input": "The quick brown fox jumped over the lazy dog",
"voice": "alloy",
"instructions": "scary and dark and deep voice",
"response_format": "wav"
}' --output output.wav
OS
Windows
Python version
python v3.11.7
Library version
openai v1.88.0
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working