TranscribeMe gem

Build Status Gem Version Dependency Status Coverage Status Code Climate


This gem is a Ruby wrapper for the TranscribeMe SOAP API, built on Savon, and includes some extra dangly bits for uploading to Windows Azure Blob storage.

This gem wants to make it easy for you. It tries, at least. If you call the 'sign_in' method before initializing a session then we all know you meant to. We'll jump right in there and initialize it for you.


This gem relies on FFMPEG for determining the duration of audio (and video) files. The TranscribeMe SOAP API leaves it as the client's responsibility for determining the duration of files being uploaded.


Add this line to your application's Gemfile:

gem 'transcribeme'

And then execute:

$ bundle

Or install it yourself as:

$ gem install transcribeme




Documentation follows Tomdoc and is generated by YARD

The documentation can be browsed online


Version 1.00

Initial stable release

Version 1.0.1

Bug fix -


Version 1.1.0

  • [x] Set up Travis-CI and document supported Ruby versions

  • [x] Investigate Windows Azure Blob storage file upload

  • [x] Include Excon for Windows Azure Blob storage

  • [x] Base64 decrypt transcription results

  • [x] Document SOAP calls and error messages

  • [x] Complete YARD documentation

  • [x] Refactor the recordings array into an object with .completed .in_progress and .ready_for_transcription methods

  • [x] Exceptions for error handling

  • [x] Modelling Recording objects, particularly better describing recording status

  • [ ] Reduce gem size through reducing spec support files (download as needed during specs, gitignored?)

Version 1.2.0

  • [ ] Implement the customer sign up API

  • [ ] Implement the customer reset password

Version 2.0.0

  • [ ] Breaking changes planned: Refactor DSL around recordings to be more OO

Version 2.1.0

  • [ ] Create a CLI interface


  • [ ] A RubyMotion fork (transcribeme-motion), wrapped in BubbleWrap's HTTP DSL (watch this space)

REST API Wrapper

  • [ ] A Sinatra RESTful wrapper around the SOAP operations for your own personal REST API middleman, with JSON-ic magic at your fingertips. JSON was always my favourite Argonaut.


  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request