Listing Thumbnail

    Kotoba Text-to-Speech (TTS) Streaming

     Info
    Deployed on AWS
    Free Trial
    Real-time Japanese text-to-speech via SageMaker bidirectional streaming. Sub-second first-audio latency.

    Overview

    Kotoba TTS delivers production-grade, low-latency Japanese speech synthesis for conversational AI, content localization, and accessibility products.

    Key capabilities:

    • Real-time bidirectional streaming over SageMaker HTTP/2, with sub-second time-to-first-audio.
    • Production-tuned Japanese voice for natural-sounding conversational speech. 24 kHz mono PCM output in pcm_f32 / pcm16 / float32 codecs.
    • Cancel mid-stream with response.cancel; reuse a single session for many response.create turns.

    Typical use cases: conversational agents, call-center voicebots, audiobook narration, real-time translation output, and voice-driven UX.

    Highlights

    • Real-time streaming synthesis with sub-second time-to-first-audio by bidirectional streaming.

    Details

    Delivery method

    Latest version

    Deployed on AWS
    New

    Introducing multi-product solutions

    You can now purchase comprehensive solutions tailored to use cases and industries.

    Multi-product solutions

    Features and programs

    Financing for AWS Marketplace purchases

    AWS Marketplace now accepts line of credit payments through the PNC Vendor Finance program. This program is available to select AWS customers in the US, excluding NV, NC, ND, TN, & VT.
    Financing for AWS Marketplace purchases

    Pricing

    Free trial

    Try this product free for 7 days according to the free trial terms set by the vendor.

    Kotoba Text-to-Speech (TTS) Streaming

     Info
    Pricing is based on actual usage, with charges varying according to how much you consume. Subscriptions have no end date and may be canceled any time.
    Additional AWS infrastructure costs may apply. Use the AWS Pricing Calculator  to estimate your infrastructure costs.

    Usage costs (11)

     Info
    Dimension
    Description
    Cost/host/hour
    ml.c4.2xlarge Inference (Batch)
    Recommended
    Model inference on the ml.c4.2xlarge instance type, batch mode
    $0.00
    ml.g6e.8xlarge Inference (Real-Time)
    Recommended
    Model inference on the ml.g6e.8xlarge instance type, real-time mode
    $96.00
    ml.g6e.xlarge Inference (Real-Time)
    Model inference on the ml.g6e.xlarge instance type, real-time mode
    $96.00
    ml.g6e.2xlarge Inference (Real-Time)
    Model inference on the ml.g6e.2xlarge instance type, real-time mode
    $96.00
    ml.g6e.4xlarge Inference (Real-Time)
    Model inference on the ml.g6e.4xlarge instance type, real-time mode
    $96.00
    ml.g6e.16xlarge Inference (Real-Time)
    Model inference on the ml.g6e.16xlarge instance type, real-time mode
    $96.00
    ml.g6.xlarge Inference (Real-Time)
    Model inference on the ml.g6.xlarge instance type, real-time mode
    $48.00
    ml.g6.2xlarge Inference (Real-Time)
    Model inference on the ml.g6.2xlarge instance type, real-time mode
    $48.00
    ml.g6.4xlarge Inference (Real-Time)
    Model inference on the ml.g6.4xlarge instance type, real-time mode
    $48.00
    ml.g6.8xlarge Inference (Real-Time)
    Model inference on the ml.g6.8xlarge instance type, real-time mode
    $48.00

    Vendor refund policy

    n/a

    How can we make this page better?

    Tell us how we can improve this page, or report an issue with this product.
    Tell us how we can improve this page, or report an issue with this product.

    Legal

    Vendor terms and conditions

    Upon subscribing to this product, you must acknowledge and agree to the terms and conditions outlined in the vendor's End User License Agreement (EULA) .

    Content disclaimer

    Vendors are responsible for their product descriptions and other product content. AWS does not warrant that vendors' product descriptions or other product content are accurate, complete, reliable, current, or error-free.

    Usage information

     Info

    Delivery details

    Amazon SageMaker model

    An Amazon SageMaker model package is a pre-trained machine learning model ready to use without additional training. Use the model package to create a model on Amazon SageMaker for real-time inference or batch processing. Amazon SageMaker is a fully managed platform for building, training, and deploying machine learning models at scale.

    Deploy the model on Amazon SageMaker AI using the following options:
    Deploy the model as an API endpoint for your applications. When you send data to the endpoint, SageMaker processes it and returns results by API response. The endpoint runs continuously until you delete it. You're billed for software and SageMaker infrastructure costs while the endpoint runs. AWS Marketplace models don't support Amazon SageMaker Asynchronous Inference. For more information, see Deploy models for real-time inference  .
    Deploy the model to process batches of data stored in Amazon Simple Storage Service (Amazon S3). SageMaker runs the job, processes your data, and returns results to Amazon S3. When complete, SageMaker stops the model. You're billed for software and SageMaker infrastructure costs only during the batch job. Duration depends on your model, instance type, and dataset size. AWS Marketplace models don't support Amazon SageMaker Asynchronous Inference. For more information, see Batch transform for inference with Amazon SageMaker AI  .
    Version release notes

    v1.5 Update

    Pipelining and per-response cancellation

    This release lets a session keep multiple synthesis requests in flight and adds id-targeted cancellation and correlated errors:

    • Pipelining: clients may send the next response.create without waiting for the previous response.done. While a response is active, additional requests are accepted with a new response.queued event and drained in FIFO order. response.done(N) is always delivered before response.created(N+1). The pending queue is bounded by WS_MAX_PENDING_RESPONSES (default 15); exceeding it returns a non-fatal error.
    • Cancellation by id: response.cancel now accepts an optional response_id and can cancel either the active response or one that is still queued. Cancelling a queued response drops it without ever emitting response.created (and without usage).
    • Correlated, classified errors: request-scoped error events now carry the offending response_id and a fatal flag (true => the connection is closing; false => the session continues).
    • Unique ids: each outstanding response_id must be unique; reusing one that is active or queued is rejected with a non-fatal error.

    The selectable output format / sample rate introduced in v1.4 (pcm_f32, pcm_16, mulaw, opus) is retained.

    Additional details

    Inputs

    Summary

    Kotoba TTS v1.5 accepts text input via SageMaker bidirectional streaming (HTTP/2) at the path /invocations-bidirectional-stream. Standard POST /invocations and batch transform jobs are NOT supported.

    A synthesis session is a sequence of JSON events sent over the bidirectional stream:

    1. open (required, first event)

      • language (string, optional, default ja): ISO-639-1 language code.
      • speaker_id (string, optional, default default): preset voice identifier. default is always available; additional preset keys (e.g. man-1, woman-1) may also be shipped with the bundle.
      • format (string, optional, default pcm_f32): output audio format. One of pcm_f32 (little-endian float32), pcm_16 (little-endian signed 16-bit), mulaw (8-bit G.711 mu-law), or opus (Ogg/Opus).
      • sample_rate (integer, optional, default 24000): output sample rate in Hz. PCM formats (pcm_f32, pcm_16) accept 8000, 16000, or 24000. mulaw is always emitted at 8000 and opus at 24000, so this field is ignored for them. The negotiated format and sample_rate are echoed on session.created.
      • spk_ref_audio_tokens (optional): speaker reference tokens for the requested voice.
    2. response.create (one synthesis turn; repeatable, and may be sent without waiting for the previous response.done — see Pipelining below)

      • text (string, required): the full text to synthesize. The model is one-shot, so the text is not streamed in chunks.
      • response_id (string, optional): client-supplied correlation id; echoed on response.queued / response.created / audio.chunk / response.done. Must be unique among outstanding (active or queued) responses, and reusable once its response.done has been delivered. When omitted the server assigns a UUID.
      • max_length (integer, optional): cap on the generated length for this response.
    3. response.cancel (optional)

      • response_id (string, optional): cancel the response with this id, whether it is the active response or one still queued. Without it, the active response is cancelled.

    Pipelining: while a response is active, additional response.create events are accepted with a response.queued event (carrying the same response.id) and synthesized one at a time in FIFO order. The pending queue is bounded by WS_MAX_PENDING_RESPONSES (default 15); exceeding it yields a non-fatal error (too many queued responses).

    Each JSON event must be sent as a UTF-8 text frame. With the SageMaker HTTP/2 SDK, construct RequestPayloadPart with data_type="UTF8" so the payload is forwarded as text.

    Limitations for input type
    - The `open` event must be received within 10 seconds of the WebSocket connection (`WS_OPEN_TIMEOUT`). - Connections idle for more than 60 seconds without a client message are closed (`WS_IDLE_TIMEOUT`). The idle timer is reset by client messages and by major server events (response.created / queued / done / error), so draining a queue keeps the session alive. - `response.create.text` must be a non-empty UTF-8 string. - A session synthesizes one response at a time; additional requests are queued (up to `WS_MAX_PENDING_RESPONSES`, default 15) rather than rejected. Beyond that limit, `response.create` returns a non-fatal `error`. - Standard `POST /invocations` and batch transform jobs are not supported; only bidirectional streaming over HTTP/2 is available. - Python clients must use Python 3.12+ together with `aws-sdk-python[sagemaker-runtime-http2]`.
    Input MIME type
    application/json
    https://github.com/kotoba-tech/api-samples/blob/main/tts/data/sample_input.json
    Not supported

    Support

    Vendor support

    AWS infrastructure support

    AWS Support is a one-on-one, fast-response support channel that is staffed 24x7x365 with experienced and technical support engineers. The service helps customers of all sizes and technical abilities to successfully utilize the products and features provided by Amazon Web Services.

    Similar products

    Customer reviews

    Ratings and reviews

     Info
    0 ratings
    5 star
    4 star
    3 star
    2 star
    1 star
    0%
    0%
    0%
    0%
    0%
    0 reviews
    No customer reviews yet
    Be the first to review this product . We've partnered with PeerSpot to gather customer feedback. You can share your experience by writing or recording a review, or scheduling a call with a PeerSpot analyst.