Я создал службу пакетной транскрипции Azure, которая будет принимать аудиофайл из хранилища BLOB-объектов Azure в качестве входных данных и делиться со мной речью в текст.
Я могу достичь вышеуказанного, используя веб-сайт https://eastus.cris.ai/swagger/ui/index#/, команда curl, которая успешно выполнена:
curl -X POST "https://eastus.cris.ai/api/speechtotext/v2.0/transcriptions" -H "accept: application/json" -H "Ocp-Apim-Subscription-Key: <my subscription key>" -H "Authorization: <my access token>" -H "Content-Type: application/json" -d "{ \"recordingsUrl\": \"<my azure blob audio file url>\", \"models\": [], \"locale\": \"en-US\", \"name\": \"<Some Name>\", \"description\": \"<Some Description>\", \"properties\": { \"ProfanityFilterMode\": \"Masked\", \"PunctuationMode\": \"DictatedAndAutomatic\" }}"
Однако, если я пытаюсь достичь того же самого программно через Python, я получаю ошибку, как показано ниже:
Ответ [400]
{"code": "InvalidPayload", "message": "Не найден действительный объект."}
Вот мой код:
import requests
url="https://eastus.cris.ai/api/speechtotext/v2.0/transcriptions"
headers={'accept' : 'application/json','Ocp-Apim-Subscription-Key ':'<my subscription key', 'Authorization' : '<my access token>','Content-Type': 'application/json'}
data={'recordingsUrl' : '<my azure blob audio file url>' ,"models": [], 'locale' : 'en-US', 'name' : '<Some Name>','description' : '<Some Description>','properties' : {'ProfanityFilterMode': 'Masked','PunctuationMode': 'DictatedAndAutomatic'}}
r =requests.post(url,headers=headers,data=data, verify=False)
print(r)
print(r.text)
Дайте мне знать, если я допускаю какую-то ошибку в запросах. Пост