Skip to content

API Specification

Kiki Chang edited this page Dec 12, 2017 · 14 revisions

Text to Speech

Returns the audio file of the tweet in the sender's voice

  • URL

    /api/tts/<string:user_id>

  • Method:

    POST, GET

  • URL Params

    Required:

    user_id=[string]

  • Success Response:

    • Code: 200
      Content: mp3 audio file
  • Error Response:

    • Code: 500
      Content: { 'status': 'failed' }

Add Train Data

Add training data

  • URL

    /api/addtraindata/<string:user_id>

  • Method:

    POST, PUT

  • URL Params

    Required:

    user_id=[string]

  • Success Response:

    • Code: 200
  • Error Response:

    • Code: 500
      Content: { 'status': 'failed' }

Delete Training Data

Removes user's training data

  • URL

    /api/deletetraindata/<string:user_id>

  • Method:

    POST, PUT

  • URL Params

    Required:

    user_id=[string]

  • Success Response:

    • Code: 200
  • Error Response:

    • Code: 500
      Content: { 'status': 'failed' }

Number of Samples

Get the number of training sample of a user

  • URL

    /api/numsamples/<string:user_id>

  • Method:

    GET

  • URL Params

    Required:

    user_id=[string]

  • Success Response:

    • Code: 200
      Content: mp3 audio file
  • Error Response:

    • Code: 500
      Content: { 'status': 'failed' }

Start Training

Initialize voice model training

  • URL

    /api/train/<string:user_id>

  • Method:

    POST, PUT

  • URL Params

    Required:

    user_id=[string]

  • Success Response:

    • Code: 200
      Content: 'Success: Training'
  • Error Response:

    • Code: 500
      Content: 'Internal Server Error'

Is Training

Returns whether the user is in the training process or not

  • URL

    /api/istraining/<string:user_id>

  • Method:

    GET

  • URL Params

    Required:

    user_id=[string]

  • Success Response:

    • Code: 200
      Content: 'true' or 'false'
  • Error Response:

    • Code: 500
      Content: 'Internal Server Error'

Has Data

Returns true if the user has ever sent any training data before

  • URL

    /api/hasdata/<string:user_id>

  • Method:

    GET

  • URL Params

    Required:

    user_id=[string]

  • Success Response:

    • Code: 200
      Content: 'true' or 'false'
  • Error Response:

    • Code: 500
      Content: 'false'

Get Message

Returns tweet messages

  • URL

    /api/messages/int:count

  • Method:

    GET

  • URL Params

    Required:

    count=[int] (default count:10)

  • Success Response:

    • Code: 200
      Content: tweet messages
  • Error Response:

    • Code: 500
      Content: 'Error retrieving messages'

Get Feed

Returns news feeds

  • URL

    /api/feed/int:count

  • Method:

    GET

  • URL Params

    Required:

    count=[int] (default count:10)

  • Success Response:

    • Code: 200
      Content: home timeline
  • Error Response:

    • Code: 500
      Content: 'Error retrieving tweets'

Get User Id

Returns twitter user id

  • URL

    /api/feed/int:count

  • Method:

    GET

  • URL Params

    Required:

    count=[int] (default count:10)

  • Success Response:

    • Code: 200
      Content: user_id
  • Error Response:

    • Code: 500
      Content: 'Error retrieving user_id'

Login Page

Returns login page

  • URL

    /

  • Method:

    GET

  • Success Response:

    • Code: 200
  • Error Response:

    • Code: 500
      Content: 'error in loading login page'

Login

Redirects to twitter authentication url

  • URL

    <twitter api authentication url>

  • Method:

    POST, GET

  • Success Response:

    • Code: 302
      Content: 'twitter authentication url'
  • Error Response:

    • Code: 500
      Content: 'error in login'

Success Login

After successful login, returns home page if training data exists; training page otherwise

  • URL

    /home

    /train

  • Method:

    GET

  • Success Response:

    • Code: 200
  • Error Response:

    • Code: 500

Clone this wiki locally