Test

<back to all web services

SpeechToText

AI

Convert speech to text

import java.math.*
import java.util.*
import java.io.InputStream
import net.servicestack.client.*


/**
* Convert speech to text
*/
@Api(Description="Convert speech to text")
open class SpeechToText : IGeneration
{
    /**
    * The audio stream containing the speech to be transcribed
    */
    @ApiMember(Description="The audio stream containing the speech to be transcribed")
    @Required()
    open var audio:String? = null

    /**
    * Optional client-provided identifier for the request
    */
    @ApiMember(Description="Optional client-provided identifier for the request")
    override var refId:String? = null

    /**
    * Tag to identify the request
    */
    @ApiMember(Description="Tag to identify the request")
    override var tag:String? = null
}

/**
* Response object for text generation requests
*/
@Api(Description="Response object for text generation requests")
open class TextGenerationResponse
{
    /**
    * List of generated text outputs
    */
    @ApiMember(Description="List of generated text outputs")
    open var results:ArrayList<TextOutput>? = null

    /**
    * Detailed response status information
    */
    @ApiMember(Description="Detailed response status information")
    open var responseStatus:ResponseStatus? = null
}

/**
* Output object for generated text
*/
open class TextOutput
{
    /**
    * The generated text
    */
    @ApiMember(Description="The generated text")
    open var text:String? = null
}

Kotlin SpeechToText DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /jsv/reply/SpeechToText HTTP/1.1 
Host: test.servicestack.net 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	audio: String,
	refId: String,
	tag: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	results: 
	[
		{
			text: String
		}
	],
	responseStatus: 
	{
		errorCode: String,
		message: String,
		stackTrace: String,
		errors: 
		[
			{
				errorCode: String,
				fieldName: String,
				message: String,
				meta: 
				{
					String: String
				}
			}
		],
		meta: 
		{
			String: String
		}
	}
}