Machine Learning: Train and Validate your ML Algorithms with Taskware

Bring a quality control layer to your training data set to increase training accuracy and decrease training cost

Learn More

Convert Your Audio or Video to Text

Quick and accurate audio and video transcription services.
Get your transcript returned back in 12 hours or less

Learn More

AI Bot with Human Intelligence: Your AI Bot needs a lot of training. Let us help.

Increase customer engagement and satisfaction by extending your AI Bot with human intelligence

Learn More

Automated Calling Campaigns: Marketing, Political, Sales

Create calling campaigns with scripts and we’ll place the calls and send you the result analytics and collected data

Learn More

Machine Learning Trained By Humans

We’ve made it easy for developers and companies to dramatically expand their workforce and execute microtasks across various domains. Your new workforce will be fully managed employees who operate in our own offices ensuring high quality and security.

curl –request POST \
–url https://testapi.taskware.io/transcriptions \
–header ‘accept: application/vnd.api+json; version=1’ \
–header ‘content-type: application/vnd.api+json’ \
–header ‘x-api-key: TASKWARE-TEST-API-TOKEN’ \
–data ‘{“data”:{“type”:”transcriptions”,”attributes”:{“dictionary”:{“unique”:[{“order_number”:”Order №”}],”multiple”:[[{“subtotal”:”Subtotal”},{“Tax”:”Item amount”,”options”:{“values”:[“0-2″,”3-5″,”6-10″],”single_choice”:true}}]]},”flow-id”:”AP400TRANTA”,”guidelines”:”Provide order number, subtotals and items amount”,”callback-url”:”http://example.com”,”media”:{“type”:”image”,”source”:”http://example.com”}}}}’

var data = JSON.stringify({
“data”: {
“type”: “transcriptions”,
“attributes”: {
“dictionary”: {
“unique”: [
{
“order_number”: “Order №”
}
],
“multiple”: [[
{
“subtotal”: “Subtotal”
},
{
“Tax”: “Item amount”,
“options”: {
“values”: [
“0-2”,
“3-5”,
“6-10”
],
“single_choice”: true
}
}
] ] },
“flow-id”: “AP400TRANTA”,
“guidelines”: “Provide order number, subtotals and item amounts”,
“callback-url”: “http://example.com”,
“media”: {
“type”: “image”,
“source”: “http://example.com”
}
}
}
});var xhr = new XMLHttpRequest();
xhr.withCredentials = true;xhr.addEventListener(“readystatechange”, function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});

xhr.open(“POST”, “https://api.taskware.io/transcriptions”);
xhr.setRequestHeader(“x-api-key”, “TASKWARE-TEST-API-TOKEN”);
xhr.setRequestHeader(“content-type”, “application/vnd.api+json”);
xhr.setRequestHeader(“accept”, “application/vnd.api+json; version=1”);

xhr.send(data);

import http.client
conn = http.client.HTTPSConnection(“api.taskware.io”)
payload = “{\”data\”:{\”type\”:\”transcriptions\”,\”attributes\”:{\”dictionary\”:{\”unique\”:[{\”order_number\”:\”Order №\”}],\”multiple\”:[[{\”subtotal\”:\”Subtotal\”},{\”Tax\”:\”Item amount\”,\”options\”:{\”values\”:[\”0-2\”,\”3-5\”,\”6-10\”],\”single_choice\”:true}}]]},\”flow-id\”:\”AP400TRANTA\”,\”guidelines\”:\”Provide order number, subtotals and item amounts\”,\”callback-url\”:\”http://example.com\”,\”media\”:{\”type\”:\”image\”,\”source\”:\”http://example.com\”}}}}”headers = {
‘x-api-key’: “TASKWARE-TEST-API-TOKEN”,
‘content-type’: “application/vnd.api+json”,
‘accept’: “application/vnd.api+json; version=1”
}conn.request(“POST”, “/transcriptions”, payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode(“utf-8”))

require ‘uri’
require ‘net/http’url = URI(“https://api.taskware.io/transcriptions”)
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONErequest = Net::HTTP::Post.new(url)
request[“x-api-key”] = ‘TASKWARE-TEST-API-TOKEN’
request[“content-type”] = ‘application/vnd.api+json’
request[“accept”] = ‘application/vnd.api+json; version=1’
request.body = “{\”data\”:{\”type\”:\”transcriptions\”,\”attributes\”:{\”dictionary\”:{\”unique\”:[{\”order_number\”:\”Order №\”}],\”multiple\”:[[{\”subtotal\”:\”Subtotal\”},{\”Tax\”:\”Item amount\”,\”options\”:{\”values\”:[\”0-2\”,\”3-5\”,\”6-10\”],\”single_choice\”:true}}]]},\”flow-id\”:\”AP400TRANTA\”,\”guidelines\”:\”Provide order number, subtotals and item amounts\”,\”callback-url\”:\”http://example.com\”,\”media\”:{\”type\”:\”image\”,\”source\”:\”http://example.com\”}}}}”

response = http.request(request)
puts response.read_body

curl –request POST \
–url https://api.taskware.io/comparisons \
–header ‘accept: application/vnd.api+json; version=1’ \
–header ‘content-type: application/vnd.api+json’ \
–header ‘x-api-key: TASKWARE-TEST-API-TOKEN’ \
–data ‘{“data”:{“type”:”comparisons”,”attributes”:{“dictionary”:{“unique”:[{“answer”:”Are these images of the same type of fruit?”,”options”:{“values”:[“Yes”,”No”],”single_choice”:true}}]},”guidelines”:”Select whether or not both images are the same type of fruit”,”callback-url”:”http://example.com”,”flow-id”:”AP300COMPTA”,”media”:[{“type”:”image”,”source”:”http://example.com/image1.jpg”},{“type”:”image”,”source”:”http://example.com/image2.jpg”}]}}}’

var data = JSON.stringify({
“data”: {
“type”: “comparisons”,
“attributes”: {
“dictionary”: {
“unique”: [
{
“answer”: “Are these images of the same type of fruit?”,
“options”: {
“values”: [
“Yes”,
“No”
],
“single_choice”: true
}
}
] },
“guidelines”: “Select whether or not both images are the same type of fruit”,
“callback-url”: “http://example.com”,
“flow-id”: “AP300COMPTA”,
“media”: [
{
“type”: “image”,
“source”: “http://example.com/image1.jpg”
},
{
“type”: “image”,
“source”: “http://example.com/image2.jpg”
}
] }
}
});var xhr = new XMLHttpRequest();
xhr.withCredentials = true;xhr.addEventListener(“readystatechange”, function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});

xhr.open(“POST”, “https://api.taskware.io/comparisons”);
xhr.setRequestHeader(“x-api-key”, “TASKWARE-TEST-API-TOKEN”);
xhr.setRequestHeader(“content-type”, “application/vnd.api+json”);
xhr.setRequestHeader(“accept”, “application/vnd.api+json; version=1”);

xhr.send(data);

import http.client
conn = http.client.HTTPSConnection(“api.taskware.io”)
payload = “{\”data\”:{\”type\”:\”comparisons\”,\”attributes\”:{\”dictionary\”:{\”unique\”:[{\”answer\”:\”Are these images of the same type of fruit?\”,\”options\”:{\”values\”:[\”Yes\”,\”No\”],\”single_choice\”:true}}]},\”guidelines\”:\”Select whether or not both images are the same type of fruit\”,\”callback-url\”:\”http://example.com\”,\”flow-id\”:\”AP300COMPTA\”,\”media\”:[{\”type\”:\”image\”,\”source\”:\”http://example.com/image1.jpg\”},{\”type\”:\”image\”,\”source\”:\”http://example.com/image2.jpg\”}]}}}”headers = {
‘x-api-key’: “TASKWARE-TEST-API-TOKEN”,
‘content-type’: “application/vnd.api+json”,
‘accept’: “application/vnd.api+json; version=1”
}conn.request(“POST”, “/comparisons”, payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode(“utf-8”))

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONErequest = Net::HTTP::Post.new(url)
request[“x-api-key”] = ‘TASKWARE-TEST-API-TOKEN’
request[“content-type”] = ‘application/vnd.api+json’
request[“accept”] = ‘application/vnd.api+json; version=1’
request.body = “{\”data\”:{\”type\”:\”comparisons\”,\”attributes\”:{\”dictionary\”:{\”unique\”:[{\”answer\”:\”Are these images of the same type of fruit?\”,\”options\”:{\”values\”:[\”Yes\”,\”No\”],\”single_choice\”:true}}]},\”guidelines\”:\”Select whether or not both images are the same type of fruit\”,\”callback-url\”:\”http://example.com\”,\”flow-id\”:\”AP300COMPTA\”,\”media\”:[{\”type\”:\”image\”,\”source\”:\”http://example.com/image1.jpg\”},{\”type\”:\”image\”,\”source\”:\”http://example.com/image2.jpg\”}]}}}”response = http.request(request)
puts response.read_body

curl –request POST \
–url https://api.taskware.io/categorizations \
–header ‘accept: application/vnd.api+json; version=1’ \
–header ‘content-type: application/vnd.api+json’ \
–header ‘x-api-key: TASKWARE-TEST-API-TOKEN’ \
–data ‘{“data”:{“type”:”categorizations”,”attributes”:{“guidelines”:”Which category best describes this image”,”callback-url”:”http://example.com”,”media”:{“type”:”image”,”source”:”http://example.com/image.jpg”},”flow-id”:”AP300CATETA”,”categories”:{“values”:[“Fruits”,”Vegetables”],”single_choice”:true}}}}’

var data = JSON.stringify({
“data”: {
“type”: “categorizations”,
“attributes”: {
“guidelines”: “Which category best describes this image”,
“callback-url”: “http://example.com”,
“media”: {
“type”: “image”,
“source”: “http://example.com/image.jpg”
},
“flow-id”: “AP300CATETA”,
“categories”: {
“values”: [
“Fruits”,
“Vegetables”
],
“single_choice”: true
}
}
}
});var xhr = new XMLHttpRequest();
xhr.withCredentials = true;xhr.addEventListener(“readystatechange”, function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});

xhr.open(“POST”, “https://api.taskware.io/categorizations”);
xhr.setRequestHeader(“x-api-key”, “TASKWARE-TEST-API-TOKEN”);
xhr.setRequestHeader(“content-type”, “application/vnd.api+json”);
xhr.setRequestHeader(“accept”, “application/vnd.api+json; version=1”);

xhr.send(data);

import http.clientconn = http.client.HTTPSConnection(“api.taskware.io”)

payload = “{\”data\”:{\”type\”:\”categorizations\”,\”attributes\”:{\”guidelines\”:\”Which category best describes this image\”,\”callback-url\”:\”http://example.com\”,\”media\”:{\”type\”:\”image\”,\”source\”:\”http://example.com/image.jpg\”},\”flow-id\”:\”AP300CATETA\”,\”categories\”:{\”values\”:[\”Fruits\”,\”Vegetables\”],\”single_choice\”:true}}}}”

headers = {
‘x-api-key’: “TASKWARE-TEST-API-TOKEN”,
‘content-type’: “application/vnd.api+json”,
‘accept’: “application/vnd.api+json; version=1”
}

conn.request(“POST”, “/categorizations”, payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode(“utf-8”))

require ‘uri’
require ‘net/http’
url = URI(“https://api.taskware.io/categorizations”)
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Post.new(url)
request[“x-api-key”] = ‘TASKWARE-TEST-API-TOKEN’
request[“content-type”] = ‘application/vnd.api+json’
request[“accept”] = ‘application/vnd.api+json; version=1’
request.body = “{\”data\”:{\”type\”:\”categorizations\”,\”attributes\”:{\”guidelines\”:\”Which category best describes this image\”,\”callback-url\”:\”http://example.com\”,\”media\”:{\”type\”:\”image\”,\”source\”:\”http://example.com/image.jpg\”},\”flow-id\”:\”AP300CATETA\”,\”categories\”:{\”values\”:[\”Fruits\”,\”Vegetables\”],\”single_choice\”:true}}}}”response = http.request(request)
puts response.read_body

curl –request POST \
–url https://api.taskware.io/phonecalls \
–header ‘accept: application/vnd.api+json; version=1’ \
–header ‘content-type: application/vnd.api+json’ \
–header ‘x-api-key: TASKWARE-TEST-API-TOKEN’ \
–data ‘{“data”:{“type”:”phonecalls”,”attributes”:{“dictionary”:{“unique”:[{“email”:”Client Email”},{“region”:”Region”,”options”:{“values”:[“HI”,”CA”,”FL”],”single_choice”:false}}],”multiple”:[[{“street”:”Street address”}],[{“city”:”City”},{“zip_code”:”Zip Code”}]]},”flow-id”:”AP300PHONTA”,”guidelines”:”Call this person and follow the script”,”callback-url”:”http://example.com”,”media”:{“type”:”text”,”source”:”Some text”},”entity”:{“phone_number”:””,”contact_name”:”John”,”script”:”Hello my name is <>, and I am calling on behalf of <>, I’m looking to update your account records can you please provide me with your contact information? I need to update your email and physical mailing address”}}}}’

var data = JSON.stringify({
“data”: {
“type”: “phonecalls”,
“attributes”: {
“dictionary”: {
“unique”: [
{
“email”: “Client Email”
},
{
“region”: “Region”,
“options”: {
“values”: [
“HI”,
“CA”,
“FL”
],
“single_choice”: false
}
}
],
“multiple”: [[
{
“street”: “Street address”
}
],[
{
“city”: “City”
},
{
“zip_code”: “Zip Code”
}
] ] },
“flow-id”: “AP300PHONTA”,
“guidelines”: “Call this person and follow the script”,
“callback-url”: “http://example.com”,
“media”: {
“type”: “text”,
“source”: “Some text”
},
“entity”: {
“phone_number”: “”,
“contact_name”: “John”,
“script”: “Hello my name is <>, and I am calling on behalf of <>, I’m looking to update your account records can you please provide me with your contact information? I need to update your email and physical mailing address”
}
}
}
});var xhr = new XMLHttpRequest();
xhr.withCredentials = true;xhr.addEventListener(“readystatechange”, function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});

xhr.open(“POST”, “https://api.taskware.io/phonecalls”);
xhr.setRequestHeader(“x-api-key”, “TASKWARE-TEST-API-TOKEN”);
xhr.setRequestHeader(“content-type”, “application/vnd.api+json”);
xhr.setRequestHeader(“accept”, “application/vnd.api+json; version=1”);

xhr.send(data);

import http.clientconn = http.client.HTTPSConnection(“api.taskware.io”)

payload = “{\”data\”:{\”type\”:\”phonecalls\”,\”attributes\”:{\”dictionary\”:{\”unique\”:[{\”email\”:\”Client Email\”},{\”region\”:\”Region\”,\”options\”:{\”values\”:[\”HI\”,\”CA\”,\”FL\”],\”single_choice\”:false}}],\”multiple\”:[[{\”street\”:\”Street address\”}],[{\”city\”:\”City\”},{\”zip_code\”:\”Zip Code\”}]]},\”flow-id\”:\”AP300PHONTA\”,\”guidelines\”:\”Call this person and follow the script\”,\”callback-url\”:\”http://example.com\”,\”media\”:{\”type\”:\”text\”,\”source\”:\”Some text\”},\”entity\”:{\”phone_number\”:\”\”,\”contact_name\”:\”John\”,\”script\”:\”Hello my name is <>, and I am calling on behalf of <>, I’m looking to update your account records can you please provide me with your contact information? I need to update your email and physical mailing address\”}}}}”

headers = {
‘x-api-key’: “TASKWARE-TEST-API-TOKEN”,
‘content-type’: “application/vnd.api+json”,
‘accept’: “application/vnd.api+json; version=1”
}

conn.request(“POST”, “/phonecalls”, payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode(“utf-8”))

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONErequest = Net::HTTP::Post.new(url)
request[“x-api-key”] = ‘TASKWARE-TEST-API-TOKEN’
request[“content-type”] = ‘application/vnd.api+json’
request[“accept”] = ‘application/vnd.api+json; version=1’
request.body = “{\”data\”:{\”type\”:\”phonecalls\”,\”attributes\”:{\”dictionary\”:{\”unique\”:[{\”email\”:\”Client Email\”},{\”region\”:\”Region\”,\”options\”:{\”values\”:[\”HI\”,\”CA\”,\”FL\”],\”single_choice\”:false}}],\”multiple\”:[[{\”street\”:\”Street address\”}],[{\”city\”:\”City\”},{\”zip_code\”:\”Zip Code\”}]]},\”flow-id\”:\”AP300PHONTA\”,\”guidelines\”:\”Call this person and follow the script\”,\”callback-url\”:\”http://example.com\”,\”media\”:{\”type\”:\”text\”,\”source\”:\”Some text\”},\”entity\”:{\”phone_number\”:\”\”,\”contact_name\”:\”John\”,\”script\”:\”Hello my name is <>, and I am calling on behalf of <>, I’m looking to update your account records can you please provide me with your contact information? I need to update your email and physical mailing address\”}}}}”response = http.request(request)
puts response.read_body

curl –request POST \
–url https://api.taskware.io/annotations \
–header ‘accept: application/vnd.api+json; version=1’ \
–header ‘content-type: application/vnd.api+json’ \
–header ‘x-api-key: TASKWARE-TEST-API-TOKEN’ \
–data ‘{“data”:{“type”:”annotations”,”attributes”:{“annotations”:[“cat”,”dog”],”bounding-box”:{“min-height”:10,”min-width”:10,”include-labels”:true},”guidelines”:”Draw bounding boxes around all individual cats and dogs. Choose the appropriate annotation for each box.”,”callback-url”:”http://example.com”,”media”:{“type”:”image”,”source”:”http://example.com/image.png”}}}}’

var data = JSON.stringify({
“data”: {
“type”: “annotations”,
“attributes”: {
“annotations”: [
“cat”,
“dog”
],
“bounding-box”: {
“min-height”: 10,
“min-width”: 10,
“include-labels”: true
},
“guidelines”: “Draw bounding boxes around all individual cats and dogs. Choose the appropriate annotation for each box.”,
“callback-url”: “http://example.com”,
“media”: {
“type”: “image”,
“source”: “http://example.com/image.png”
}
}
}
});var xhr = new XMLHttpRequest();
xhr.withCredentials = true;xhr.addEventListener(“readystatechange”, function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});

xhr.open(“POST”, “https://api.taskware.io/annotations”);
xhr.setRequestHeader(“x-api-key”, “TASKWARE-TEST-API-TOKEN”);
xhr.setRequestHeader(“content-type”, “application/vnd.api+json”);
xhr.setRequestHeader(“accept”, “application/vnd.api+json; version=1”);

xhr.send(data);

import http.clientconn = http.client.HTTPSConnection(“api.taskware.io”)

payload = “{\”data\”:{\”type\”:\”annotations\”,\”attributes\”:{\”annotations\”:[\”cat\”,\”dog\”],\”bounding-box\”:{\”min-height\”:10,\”min-width\”:10,\”include-labels\”:true},\”guidelines\”:\”Draw bounding boxes around all individual cats and dogs. Choose the appropriate annotation for each box.\”,\”callback-url\”:\”http://example.com\”,\”media\”:{\”type\”:\”image\”,\”source\”:\”http://example.com/image.png\”}}}}”

headers = {
‘x-api-key’: “TASKWARE-TEST-API-TOKEN”,
‘content-type’: “application/vnd.api+json”,
‘accept’: “application/vnd.api+json; version=1”
}

conn.request(“POST”, “/annotations”, payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode(“utf-8”))

require ‘uri’
require ‘net/http’url = URI(“https://api.taskware.io/annotations”)http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Post.new(url)
request[“x-api-key”] = ‘TASKWARE-TEST-API-TOKEN’
request[“content-type”] = ‘application/vnd.api+json’
request[“accept”] = ‘application/vnd.api+json; version=1’
request.body = “{\”data\”:{\”type\”:\”annotations\”,\”attributes\”:{\”annotations\”:[\”cat\”,\”dog\”],\”bounding-box\”:{\”min-height\”:10,\”min-width\”:10,\”include-labels\”:true},\”guidelines\”:\”Draw bounding boxes around all individual cats and dogs. Choose the appropriate annotation for each box.\”,\”callback-url\”:\”http://example.com\”,\”media\”:{\”type\”:\”image\”,\”source\”:\”http://example.com/image.png\”}}}}”

response = http.request(request)
puts response.read_body

Managed Workforce

We ensure high quality and high security by operating a scalable in-house staff with quality control layers to ensure your tasks are completed with high accuracy. Choose to keep your data within the confines of our environment and our employees and we’ll securely store, return and remove your data after processing.

Savings at Scale

We take the complexity out of scaling workloads. Take the burden and cost off of your employees from performing repetitive tasks and let us do the work.

Customizable Workflows

Leverage our RESTful API to create task execution that fit’s into your organization and workflows. Our engineers are ready to customize your own endpoints based on your individual situation.

We integrate with the leaders in Machine Learning
giving you the best combination of Machine Intelligence
combined with Human Intelligence.

Try the Taskware API today!

Grab an API Key and easily test out assigning tasks.