Migrace kódu z v2.0 na v3.0 REST API

Ve srovnání s v2 je verze služeb Speech v3 REST API pro převod řeči na text spolehlivější, snadněji se používá a je konzistentnější s rozhraními API pro podobné služby. Většina týmů může migrovat z v2 na v3 za den nebo dva.

Dopředná kompatibilita

Všechny entity z v2 najdete také v rozhraní API v3 pod stejnou identitou. Pokud se změnilo schéma výsledku (například přepisy), výsledek GET ve verzi v3 rozhraní API používá schéma v3. Výsledek get ve verzi v2 rozhraní API používá stejné schéma v2. Nově vytvořené entity na v3 nejsou dostupné   v odpovědích z rozhraní API v2.

Kroky migrace

Toto je souhrnný seznam položek, o které byste měli vědět, když se připravujete na migraci. Podrobnosti najdete na jednotlivých odkazech. V závislosti na vašem aktuálním použití rozhraní API se nemusí vztahovat všechny uvedené kroky. Pouze několik změn vyžaduje ne triviální změny ve volajícím kódu. Většina změn vyžaduje jenom změnu názvů položek.

Obecné změny:

  1. Změna názvu hostitele

  2. Přejmenujte ID vlastnosti na vlastní v kódu klienta.

  3. Změna kódu pro iteraci v kolekcích entit

  4. V klientském kódu přejmenujte název vlastnosti na displayName.

  5. Úprava načítání metadat odkazovaných entit

  6. Pokud používáte přepis služby Batch:

  7. Pokud používáte rozhraní API pro trénování/testování vlastních modelů:

  8. Pokud používáte rozhraní API koncových bodů:

  9. Další menší změny:

Změny způsobující chyby

Změny názvu hostitele

Názvy hostitelů koncových bodů se změnily {region}.cris.ai z na {region}.api.cognitive.microsoft.com . Cesty k novým koncovým bodům už api/ neobsahují, protože jsou součástí názvu hostitele. Dokument Swagger obsahuje seznam platných oblastí a cest.

Důležité

Změňte název hostitele z {region}.cris.ai na {region}.api.cognitive.microsoft.com oblast, kde je oblast vašeho předplatného služby Speech. Odeberte api/ také z libovolné cesty v klientském kódu.

Identita entity

Vlastnost je id teď self . Ve v2 musel uživatel rozhraní API vědět, jak se vytvářejí cesty k rozhraní API. To bylo nerozšiřitelné a vyžadovalo od uživatele nepotřebnou práci. Vlastnost id (uuid) je nahrazena řetězcem (string), což je self umístění entity (adresy URL). Hodnota je stále jedinečná mezi všemi entitami. Pokud je v kódu uložen jako řetězec, stačí k podpoře nového id schématu přejmenovat. Obsah teď můžete self použít jako adresu URL pro volání , a REST pro vaši GET PATCH DELETE entitu.

Pokud má entita další funkce dostupné prostřednictvím jiných cest, jsou uvedené v části links . Následující příklad přepisu ukazuje samostatnou metodu GET pro obsah přepisu:

Důležité

V kódu klienta id self přejmenujte vlastnost na . V případě potřeby uuid změňte string typ z na .

Přepis v2:

{
    "id": "9891c965-bb32-4880-b14b-6d44efb158f3",
    "createdDateTime": "2019-01-07T11:34:12Z",
    "lastActionDateTime": "2019-01-07T11:36:07Z",
    "status": "Succeeded",
    "locale": "en-US",
    "name": "Transcription using locale en-US"
}

Přepis v3:

{
    "self": "https://westus.api.cognitive.microsoft.com/speechtotext/v3.0/transcriptions/9891c965-bb32-4880-b14b-6d44efb158f3",
    "createdDateTime": "2019-01-07T11:34:12Z",
    "lastActionDateTime": "2019-01-07T11:36:07Z",
    "status": "Succeeded",
    "locale": "en-US", 
    "displayName": "Transcription using locale en-US",
    "links": {
      "files": "https://westus.api.cognitive.microsoft.com/speechtotext/v3.0/transcriptions/9891c965-bb32-4880-b14b-6d44efb158f3/files"
    }
}

V závislosti na implementaci kódu nemusí být k přejmenování vlastnosti dostačující. Vrácené hodnoty a doporučujeme místo generování cest v klientovi použít jako cílové adresy URL volání self links REST. Použitím vrácených adres URL si můžete být jistí, že budoucí změny v cestách nenaruší kód klienta.

Práce s kolekcemi entit

Dříve rozhraní API v2 vrátilo ve výsledku všechny dostupné entity. Aby bylo možné podrobnější kontrolu nad očekávanou velikostí odpovědi ve v3, všechny výsledky kolekce se stránkují. Máte kontrolu nad počet vrácených entit a počátečním posunem stránky. Toto chování usnadňuje předpověď modulu runtime procesoru odpovědí.

Základní tvar odpovědi je stejný pro všechny kolekce:

{
    "values": [
        {     
        }
    ],
    "@nextLink": "https://{region}.api.cognitive.microsoft.com/speechtotext/v3.0/{collection}?skip=100&top=100"
}

Vlastnost values obsahuje podmnožinu dostupných entit kolekce. Počet a posun lze řídit pomocí parametrů skip top dotazu a . Pokud není , je k dispozici více dat a další dávku dat je možné načíst pomocí @nextLink null GET pro $.@nextLink .

Tato změna vyžaduje volání GET pro kolekci ve smyčce, dokud nebudou vráceny všechny prvky.

Důležité

Pokud odpověď get na obsahuje hodnotu v , pokračujte ve vydávání na , dokud není nastavena na načtení speechtotext/v3.0/{collection} $.@nextLink všechny prvky této GETs $.@nextLink $.@nextLink kolekce.

Vytváření přepisů

Podrobný popis vytváření dávek přepisů najdete v návodu k přepisu služby Batch.

Rozhraní API pro přepis v3 umožňuje explicitně nastavit konkrétní možnosti přepisu. Všechny (volitelné) vlastnosti konfigurace je teď možné nastavit ve properties vlastnosti . Verze v3 také podporuje více vstupních souborů, takže vyžaduje seznam adres URL místo jedné adresy URL jako v2. Název vlastnosti v2 je recordingsUrl teď ve contentUrls v3. Funkce analýzy mínění v přepisech byla ve v3 odebrána. Možnosti analýzy mínění najdete v tématu Analýza textu ve službě Microsoft Cognitive Service.

Nová vlastnost timeToLive v části může pomoct properties vyřazení existujících dokončených entit. Určuje timeToLive dobu, po které se dokončená entita automaticky odstraní. Nastavte ji na vysokou hodnotu (například ), když se entity nepřetržitě sledují, využívají a odstraňují, a proto se obvykle zpracovávají dlouho před PT12H 12 hodinami.

Text požadavku POST přepisu v2:

{
  "locale": "en-US",
  "name": "Transcription using locale en-US",
  "recordingsUrl": "https://contoso.com/mystoragelocation",
  "properties": {
    "AddDiarization": "False",
    "AddWordLevelTimestamps": "False",
    "PunctuationMode": "DictatedAndAutomatic",
    "ProfanityFilterMode": "Masked"
  }
}

Text požadavku POST přepisu v3:

{
  "locale": "en-US",
  "displayName": "Transcription using locale en-US",
  "contentUrls": [
    "https://contoso.com/mystoragelocation",
    "https://contoso.com/myotherstoragelocation"
  ],
  "properties": {
    "diarizationEnabled": false,
    "wordLevelTimestampsEnabled": false,
    "punctuationMode": "DictatedAndAutomatic",
    "profanityFilterMode": "Masked"
  }
}

Důležité

Přejmenujte vlastnost na a místo jedné adresy recordingsUrl contentUrls URL předejte pole adres URL. Předejte nastavení diarizationEnabled pro nebo jako místo wordLevelTimestampsEnabled bool string .

Formát výsledků přepisu v3

Schéma výsledků přepisu se mírně změnilo tak, aby byly v souladu s přepisy vytvořenými koncovými body v reálném čase. Podrobný popis nového formátu najdete v návodu k přepisu služby Batch. Schéma výsledku je publikováno v našem ukázkovém GitHub v části samples/batch/transcriptionresult_v3.schema.json .

Názvy vlastností jsou teď ve formátu camel-cased a hodnoty pro a channel speaker teď používají celočíselné typy. Formát doby trvání teď používá strukturu popsanou ve standardu ISO 8601, která odpovídá formátování doby trvání použitému v jiných rozhraních API Azure.

Ukázka výsledku přepisu v3 Rozdíly jsou popsány v komentářích.

{
  "source": "...",                      // (new in v3) was AudioFileName / AudioFileUrl
  "timestamp": "2020-06-16T09:30:21Z",  // (new in v3)
  "durationInTicks": 41200000,          // (new in v3) was AudioLengthInSeconds
  "duration": "PT4.12S",                // (new in v3)
  "combinedRecognizedPhrases": [        // (new in v3) was CombinedResults
    {
      "channel": 0,                     // (new in v3) was ChannelNumber
      "lexical": "hello world",
      "itn": "hello world",
      "maskedITN": "hello world",
      "display": "Hello world."
    }
  ],
  "recognizedPhrases": [                // (new in v3) was SegmentResults
    {
      "recognitionStatus": "Success",   // 
      "channel": 0,                     // (new in v3) was ChannelNumber
      "offset": "PT0.07S",              // (new in v3) new format, was OffsetInSeconds
      "duration": "PT1.59S",            // (new in v3) new format, was DurationInSeconds
      "offsetInTicks": 700000.0,        // (new in v3) was Offset
      "durationInTicks": 15900000.0,    // (new in v3) was Duration

      // possible transcriptions of the current phrase with confidences
      "nBest": [
        {
          "confidence": 0.898652852,phrase
          "speaker": 1,
          "lexical": "hello world",
          "itn": "hello world",
          "maskedITN": "hello world",
          "display": "Hello world.",

          "words": [
            {
              "word": "hello",
              "offset": "PT0.09S",
              "duration": "PT0.48S",
              "offsetInTicks": 900000.0,
              "durationInTicks": 4800000.0,
              "confidence": 0.987572
            },
            {
              "word": "world",
              "offset": "PT0.59S",
              "duration": "PT0.16S",
              "offsetInTicks": 5900000.0,
              "durationInTicks": 1600000.0,
              "confidence": 0.906032
            }
          ]
        }
      ]
    }
  ]
}

Důležité

Deserializace výsledku přepisu do nového typu, jak je znázorněno výše. Místo jednoho souboru na zvukový kanál rozlište kanály kontrolou hodnoty vlastnosti channel pro každý prvek v recognizedPhrases . Pro každý vstupní soubor je teď k dispozici jeden soubor výsledků.

Získání obsahu entit a výsledků

Ve v2 jsou odkazy na vstupní nebo výsledné soubory inlinované se zbytkem metadat entity. Vylepšením v3 je jasné oddělení mezi metadaty entit (která vrací GET na ) a podrobnostmi a přihlašovacími údaji pro přístup k $.self výsledným souborům. Toto oddělení pomáhá chránit zákaznická data a umožňuje mít přesnou kontrolu nad dobou platnosti přihlašovacích údajů.

V části v3 links Zahrňte dílčí vlastnost volanou files pro případ, že entita zpřístupňuje data (datové sady, přepisy, koncové body nebo hodnocení). K získání $.links.files přístupu k obsahu jednotlivých souborů vrátí se seznam souborů a adresa URL SAS. Chcete-li řídit dobu platnosti adres URL SAS, je sasValidityInSeconds možné použít parametr dotazu k určení doby života.

V2 – přepis:

{
  "id": "9891c965-bb32-4880-b14b-6d44efb158f3",
  "status": "Succeeded",
  "reportFileUrl": "https://contoso.com/report.txt?st=2018-02-09T18%3A07%3A00Z&se=2018-02-10T18%3A07%3A00Z&sp=rl&sv=2017-04-17&sr=b&sig=6c044930-3926-4be4-be76-f728327c53b5",
  "resultsUrls": {
    "channel_0": "https://contoso.com/audiofile1.wav?st=2018-02-09T18%3A07%3A00Z&se=2018-02-10T18%3A07%3A00Z&sp=rl&sv=2017-04-17&sr=b&sig=6c044930-3926-4be4-be76-f72832e6600c",
    "channel_1": "https://contoso.com/audiofile2.wav?st=2018-02-09T18%3A07%3A00Z&se=2018-02-10T18%3A07%3A00Z&sp=rl&sv=2017-04-17&sr=b&sig=3e0163f1-0029-4d4a-988d-3fba7d7c53b5"
  }
}

přepis V3:

{
    "self": "https://westus.api.cognitive.microsoft.com/speechtotext/v3.0/transcriptions/9891c965-bb32-4880-b14b-6d44efb158f3",
    "links": {
      "files": "https://westus.api.cognitive.microsoft.com/speechtotext/v3.0/transcriptions/9891c965-bb32-4880-b14b-6d44efb158f3/files"
    } 
}

Výsledkem může být $.links.files :

{
  "values": [
    {
      "self": "https://westus.api.cognitive.microsoft.com/speechtotext/v3.0/transcriptions/9891c965-bb32-4880-b14b-6d44efb158f3/files/f23e54f5-ed74-4c31-9730-2f1a3ef83ce8",
      "name": "Name",
      "kind": "Transcription",
      "properties": {
        "size": 200
      },
      "createdDateTime": "2020-01-13T08:00:00Z",
      "links": {
        "contentUrl": "https://customspeech-usw.blob.core.windows.net/artifacts/mywavefile1.wav.json?st=2018-02-09T18%3A07%3A00Z&se=2018-02-10T18%3A07%3A00Z&sp=rl&sv=2017-04-17&sr=b&sig=e05d8d56-9675-448b-820c-4318ae64c8d5"
      }
    },
    {
      "self": "https://westus.api.cognitive.microsoft.com/speechtotext/v3.0/transcriptions/9891c965-bb32-4880-b14b-6d44efb158f3/files/28bc946b-c251-4a86-84f6-ea0f0a2373ef",
      "name": "Name",
      "kind": "TranscriptionReport",
      "properties": {
        "size": 200
      },
      "createdDateTime": "2020-01-13T08:00:00Z",
      "links": {
        "contentUrl": "https://customspeech-usw.blob.core.windows.net/artifacts/report.json?st=2018-02-09T18%3A07%3A00Z&se=2018-02-10T18%3A07%3A00Z&sp=rl&sv=2017-04-17&sr=b&sig=e05d8d56-9675-448b-820c-4318ae64c8d5"
      }
    }
  ],
  "@nextLink": "https://westus.api.cognitive.microsoft.com/speechtotext/v3.0/transcriptions/9891c965-bb32-4880-b14b-6d44efb158f3/files?skip=2&top=2"
}

kindVlastnost určuje formát obsahu souboru. V případě přepisů jsou soubory typu TranscriptionReport souhrnem úlohy a soubory typu Transcription jsou výsledkem samotné úlohy.

Důležité

Chcete-li získat výsledky operací, použijte GET na /speechtotext/v3.0/{collection}/{id}/files , již nejsou obsaženy v odpovědích GET na /speechtotext/v3.0/{collection}/{id} nebo /speechtotext/v3.0/{collection} .

Přizpůsobení modelů

Před v3m bylo při školení modelu rozdíl mezi akustickým modelem a jazykovým modelem . Výsledkem tohoto rozdílu je nutnost zadat více modelů při vytváření koncových bodů nebo přepisů. Pro zjednodušení tohoto procesu pro volající jsme odebrali rozdíly a provedli vše na základě obsahu datových sad, které se používají pro školení modelů. Při této změně vytváření modelů teď podporuje smíšenou datovou sadu (data v jazyce a akustická data). Koncové body a Přepisy teď vyžadují jenom jeden model.

V důsledku této změny je potřeba kind v POST operaci odebrat a datasets[] pole může nyní obsahovat více datových sad stejného nebo smíšeného druhu.

Pro zlepšení výsledků trained model se akustická data automaticky používají interně během školení jazyka. Obecně platí, že modely vytvořené prostřednictvím rozhraní V3 API poskytují přesnější výsledky než modely vytvořené pomocí rozhraní v2 API.

Důležité

Chcete-li přizpůsobit akustický a jazykový model, předejte všechny požadované jazyky a akustické datové sady v datasets[] příspěvku do /speechtotext/v3.0/models . Tím se vytvoří jeden model s oběma částmi, které jsou přizpůsobené.

Načítají se základní a vlastní modely.

Aby bylo možné zjednodušit získání dostupných modelů, hodnota V3 oddělí kolekce "základních modelů" od zákazníka, který vlastní "přizpůsobené modely". Tyto dvě trasy jsou nyní GET /speechtotext/v3.0/models/base a GET /speechtotext/v3.0/models/ .

V v2 všechny modely byly vráceny v rámci jedné odpovědi.

Důležité

Chcete-li získat seznam zadaných základních modelů pro přizpůsobení, použijte GET /speechtotext/v3.0/models/base . Vlastní přizpůsobené modely můžete najít GET v /speechtotext/v3.0/models .

Název entity

nameVlastnost je nyní displayName . To je konzistentní s jinými rozhraními API Azure, aby neoznačovaly vlastnosti identity. Hodnota této vlastnosti nesmí být jedinečná a po vytvoření entity s operací je možné ji změnit PATCH .

V2 – přepis:

{
    "name": "Transcription using locale en-US"
}

přepis V3:

{
    "displayName": "Transcription using locale en-US"
}

Důležité

Přejmenujte vlastnost name na displayName v kódu klienta.

Přístup k odkazovaným entitám

V v2 byly odkazované entity vždycky vložené, například používané modely koncového bodu. Vnořování entit vedlo k velkým odpovědím a spotřebitelé zřídka využili vnořený obsah. Pokud chcete zmenšit velikost odpovědi a zvýšit výkon, odkazované entity už nejsou v odpovědi vložené. Místo toho se zobrazí odkaz na jinou entitu a lze ji použít přímo pro následné GET (Jedná se také o adresu URL), a to za stejným vzorem jako self odkaz.

V2 – přepis:

{
  "id": "9891c965-bb32-4880-b14b-6d44efb158f3",
  "models": [
    {
      "id": "827712a5-f942-4997-91c3-7c6cde35600b",
      "modelKind": "Language",
      "lastActionDateTime": "2019-01-07T11:36:07Z",
      "status": "Running",
      "createdDateTime": "2019-01-07T11:34:12Z",
      "locale": "en-US",
      "name": "Acoustic model",
      "description": "Example for an acoustic model",
      "datasets": [
        {
          "id": "702d913a-8ba6-4f66-ad5c-897400b081fb",
          "dataImportKind": "Language",
          "lastActionDateTime": "2019-01-07T11:36:07Z",
          "status": "Succeeded",
          "createdDateTime": "2019-01-07T11:34:12Z",
          "locale": "en-US",
          "name": "Language dataset",
        }
      ]
    },
  ]
}

přepis V3:

{
  "self": "https://westus.api.cognitive.microsoft.com/speechtotext/v3.0/transcriptions/9891c965-bb32-4880-b14b-6d44efb158f3",
  "model": {
    "self": "https://westus.api.cognitive.microsoft.com/speechtotext/v3.0/models/021a72d0-54c4-43d3-8254-27336ead9037"
  }
}

Pokud potřebujete spotřebovat podrobnosti odkazovaného modelu, jak je znázorněno v předchozím příkladu, stačí, když vydáte příkaz získat na $.model.self .

Důležité

Pokud chcete načíst metadata odkazovaných entit, vydejte si $.{referencedEntity}.self například příkaz Get on, který načte model přepisu GET $.model.self .

Načítání protokolů koncových bodů

Verze V2 služby podporovala výsledky koncového bodu protokolování. Chcete-li načíst výsledky koncového bodu s v2, vytvořte "Export dat", který představoval snímek výsledků definovaných časovým rozsahem. Proces exportu dávek dat byl neflexibilní. Rozhraní V3 API poskytuje přístup ke každému jednotlivému souboru a umožňuje iteraci prostřednictvím nich.

Úspěšně se spustil koncový bod V3:

{
  "self": "https://westus.api.cognitive.microsoft.com/speechtotext/v3.0/endpoints/afa0669c-a01e-4693-ae3a-93baf40f26d6",
  "links": {
    "logs": "https://westus.api.cognitive.microsoft.com/speechtotext/v3.0/endpoints/afa0669c-a01e-4693-ae3a-93baf40f26d6/files/logs" 
  }
}

Odpověď pro GET $.links.logs :

{
  "values": [
    {
      "self": "https://westus.api.cognitive.microsoft.com/speechtotext/v3.0/endpoints/6d72ad7e-f286-4a6f-b81b-a0532ca6bcaa/files/logs/2019-09-20_080000_3b5f4628-e225-439d-bd27-8804f9eed13f.wav",
      "name": "2019-09-20_080000_3b5f4628-e225-439d-bd27-8804f9eed13f.wav",
      "kind": "Audio",
      "properties": {
        "size": 12345
      },
      "createdDateTime": "2020-01-13T08:00:00Z",
      "links": {
        "contentUrl": "https://customspeech-usw.blob.core.windows.net/artifacts/2019-09-20_080000_3b5f4628-e225-439d-bd27-8804f9eed13f.wav?st=2018-02-09T18%3A07%3A00Z&se=2018-02-10T18%3A07%3A00Z&sp=rl&sv=2017-04-17&sr=b&sig=e05d8d56-9675-448b-820c-4318ae64c8d5"
      }
    }    
  ],
  "@nextLink": "https://westus.api.cognitive.microsoft.com/speechtotext/v3.0/endpoints/afa0669c-a01e-4693-ae3a-93baf40f26d6/files/logs?top=2&SkipToken=2!188!MDAwMDk1ITZhMjhiMDllLTg0MDYtNDViMi1hMGRkLWFlNzRlOGRhZWJkNi8yMDIwLTA0LTAxLzEyNDY0M182MzI5NGRkMi1mZGYzLTRhZmEtOTA0NC1mODU5ZTcxOWJiYzYud2F2ITAwMDAyOCE5OTk5LTEyLTMxVDIzOjU5OjU5Ljk5OTk5OTlaIQ--"
}

Stránkování protokolů koncového bodu funguje podobně jako u všech ostatních kolekcí, s výjimkou toho, že není možné zadat žádný posun. Vzhledem k velkému množství dat, která jsou k dispozici, je stránkování určováno serverem.

V systému V3 lze každý protokol koncového bodu odstranit jednotlivě vyvoláním DELETE operace na self soubor nebo pomocí příkazu DELETE zapnuto $.links.logs . K určení koncového data endDate lze do žádosti přidat parametr dotazu.

Důležité

Místo vytváření exportů protokolů při /api/speechtotext/v2.0/endpoints/{id}/data použití /v3.0/endpoints/{id}/files/logs/ pro přístup k souborům protokolu jednotlivě.

Použití vlastních vlastností

Chcete-li oddělit vlastní vlastnosti z volitelných vlastností konfigurace, jsou nyní všechny explicitně pojmenované vlastnosti umístěny ve properties vlastnosti a všechny vlastnosti definované volajícími jsou nyní umístěny ve customProperties Vlastnosti.

V2 – entita přepisu:

{
  "properties": {
    "customerDefinedKey": "value",
    "diarizationEnabled": "False",
    "wordLevelTimestampsEnabled": "False"
  }
}

V3 přepisující entitu:

{
  "properties": {
    "diarizationEnabled": false,
    "wordLevelTimestampsEnabled": false 
  },
  "customProperties": {
    "customerDefinedKey": "value"
  }
}

Tato změna také umožňuje používat správné typy pro všechny explicitně pojmenované vlastnosti v části properties (například Boolean namísto řetězce).

Důležité

Předejte všechny vlastní vlastnosti jako customProperties místo properties v rámci vašich POST požadavků.

Hlavičky odpovědi

hodnota V3 již nevrací Operation-Location hlavičku kromě Location záhlaví POST požadavků. Hodnota obou hlaviček v v2 byla stejná. Nyní Location je vrácen pouze.

Vzhledem k tomu, že nová verze rozhraní API je teď spravovaná pomocí Azure API Management (APIM), hlavičky související s omezováním X-RateLimit-Limit X-RateLimit-Remaining a X-RateLimit-Reset nejsou obsažené v hlavičkách odpovědi.

Důležité

Přečtěte si umístění z hlavičky odpovědi Location místo Operation-Location . V případě kódu odpovědi 429 si přečtěte Retry-After hodnotu hlavičky místo X-RateLimit-Limit , X-RateLimit-Remaining nebo X-RateLimit-Reset .

Testy přesnosti

Testy přesnosti byly přejmenovány na hodnocení, protože nový název popisuje lepší význam, co představují. Nové cesty jsou: https://{region}.api.cognitive.microsoft.com/speechtotext/v3.0/evaluations .

Důležité

Přejmenujte segment cesty accuracytests na evaluations svůj klientský kód.

Další kroky

Projděte si všechny funkce těchto běžně používaných rozhraní REST API poskytovaných službami Speech: