Test

<back to all web services

SpeechToText

AI

Convert speech to text

import Foundation
import ServiceStack

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

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

    /**
    * Tag to identify the request
    */
    // @ApiMember(Description="Tag to identify the request")
    public var tag:String

    required public init(){}
}

/**
* Response object for text generation requests
*/
// @Api(Description="Response object for text generation requests")
public class TextGenerationResponse : Codable
{
    /**
    * List of generated text outputs
    */
    // @ApiMember(Description="List of generated text outputs")
    public var results:[TextOutput]

    /**
    * Detailed response status information
    */
    // @ApiMember(Description="Detailed response status information")
    public var responseStatus:ResponseStatus

    required public init(){}
}

/**
* Output object for generated text
*/
public class TextOutput : Codable
{
    /**
    * The generated text
    */
    // @ApiMember(Description="The generated text")
    public var text:String

    required public init(){}
}


Swift 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
		}
	}
}