GetABrain.ai

Query Types

GetABrain.ai supports 11 query types for collecting different kinds of human feedback. Each type has its own content_data schema for the request and response_data schema for the worker response.

1. text

A text question with a free-form answer. Workers see a question and type their response.

Request

{
  "type": "text",
  "title": "Product Feedback",
  "content_data": {
    "question": "What do you think of our new landing page?"
  },
  "required_responses": 3,
  "bid_amount_cents": 50
}

Response

{
  "response_data": {
    "answer": "The design is clean and easy to navigate."
  }
}

2. multiple_choice

Present multiple options and have workers select one or more. Set allow_multiple to enable multi-select.

Request

{
  "type": "multiple_choice",
  "title": "Feature Priority",
  "content_data": {
    "question": "Which feature should we build next?",
    "options": [
      { "id": "a", "text": "Dark mode" },
      { "id": "b", "text": "Mobile app" },
      { "id": "c", "text": "API v2" },
      { "id": "d", "text": "Integrations" }
    ],
    "allow_multiple": false
  },
  "required_responses": 5,
  "bid_amount_cents": 30
}

Response

{
  "response_data": {
    "selected_ids": ["b"]
  }
}

3. rating_scale

Workers rate something on a numeric scale. Define the range and optional labels for the endpoints.

Request

{
  "type": "rating_scale",
  "title": "Satisfaction Survey",
  "content_data": {
    "question": "How satisfied are you with our support?",
    "min": 1,
    "max": 10,
    "labels": {
      "min": "Very Unsatisfied",
      "max": "Very Satisfied"
    }
  },
  "required_responses": 10,
  "bid_amount_cents": 20
}

Response

{
  "response_data": {
    "rating": 8
  }
}

4. image_comparison

Show two images side by side and ask workers to choose the better one with reasoning.

Request

{
  "type": "image_comparison",
  "title": "Logo Comparison",
  "content_data": {
    "question": "Which logo design is more professional?",
    "images": [
      { "id": "logo_a", "url": "https://example.com/logo-a.png" },
      { "id": "logo_b", "url": "https://example.com/logo-b.png" }
    ]
  },
  "required_responses": 5,
  "bid_amount_cents": 40
}

Response

{
  "response_data": {
    "selected_image_id": "logo_a",
    "reasoning": "Logo A has cleaner lines and better color contrast."
  }
}

5. ranking

Workers rank a list of items in their preferred order, from best to worst.

Request

{
  "type": "ranking",
  "title": "Feature Ranking",
  "content_data": {
    "question": "Rank these features by importance:",
    "items": [
      { "id": "perf", "text": "Performance" },
      { "id": "ux", "text": "User Experience" },
      { "id": "sec", "text": "Security" },
      { "id": "price", "text": "Pricing" }
    ]
  },
  "required_responses": 5,
  "bid_amount_cents": 40
}

Response

{
  "response_data": {
    "ranked_ids": ["sec", "perf", "ux", "price"]
  }
}

6. yes_no

A simple yes or no question. Ideal for binary classification tasks.

Request

{
  "type": "yes_no",
  "title": "Content Moderation",
  "content_data": {
    "question": "Does this image contain inappropriate content?"
  },
  "required_responses": 3,
  "bid_amount_cents": 15
}

Response

{
  "response_data": {
    "answer": "no"
  }
}

7. sentiment

Workers analyze the sentiment of a given text. Returns one of five sentiment levels.

Request

{
  "type": "sentiment",
  "title": "Review Sentiment",
  "content_data": {
    "text": "I absolutely love this product! Best purchase I've made all year."
  },
  "required_responses": 3,
  "bid_amount_cents": 20
}

Response

{
  "response_data": {
    "sentiment": "very_positive"
  }
}

Possible values: very_positive, positive, neutral, negative, very_negative

8. image_selection

Present multiple images and have workers select one or more that match criteria.

Request

{
  "type": "image_selection",
  "title": "Best Product Photos",
  "content_data": {
    "question": "Select all images suitable for the product listing:",
    "images": [
      { "id": "img1", "url": "https://example.com/photo1.jpg" },
      { "id": "img2", "url": "https://example.com/photo2.jpg" },
      { "id": "img3", "url": "https://example.com/photo3.jpg" },
      { "id": "img4", "url": "https://example.com/photo4.jpg" }
    ]
  },
  "required_responses": 5,
  "bid_amount_cents": 35
}

Response

{
  "response_data": {
    "selected_image_ids": ["img1", "img3"]
  }
}

9. free_form_text

Collect longer text responses with optional length constraints. Ideal for descriptions, summaries, or creative writing tasks.

Request

{
  "type": "free_form_text",
  "title": "Product Description",
  "content_data": {
    "prompt": "Write a compelling product description for a wireless ergonomic mouse.",
    "min_length": 100,
    "max_length": 500
  },
  "required_responses": 3,
  "bid_amount_cents": 75
}

Response

{
  "response_data": {
    "text": "Experience unmatched comfort with our wireless ergonomic mouse, designed to reduce strain during long work sessions. Featuring a sculpted grip, precision optical sensor, and 30-day battery life..."
  }
}

10. video_review

Workers watch a video and provide structured feedback on specified aspects.

Request

{
  "type": "video_review",
  "title": "Tutorial Video Review",
  "content_data": {
    "video_url": "https://example.com/tutorial.mp4",
    "aspects": ["clarity", "pacing", "visual_quality", "audio_quality"]
  },
  "required_responses": 3,
  "bid_amount_cents": 100
}

Response

{
  "response_data": {
    "review": {
      "clarity": "The instructions are easy to follow with good examples.",
      "pacing": "Slightly fast in the middle section, could slow down.",
      "visual_quality": "HD quality, good lighting and screen recordings.",
      "audio_quality": "Clear narration, no background noise."
    },
    "overall_feedback": "Great tutorial overall. Slowing the pace in the advanced section would help beginners."
  }
}

11. audio_review

Workers listen to audio content and provide structured feedback on specified aspects.

Request

{
  "type": "audio_review",
  "title": "Podcast Episode Review",
  "content_data": {
    "audio_url": "https://example.com/podcast-ep1.mp3",
    "aspects": ["content_quality", "audio_clarity", "engagement", "length"]
  },
  "required_responses": 5,
  "bid_amount_cents": 80
}

Response

{
  "response_data": {
    "review": {
      "content_quality": "Informative discussion with good depth on the topic.",
      "audio_clarity": "Clear audio, good microphone quality.",
      "engagement": "Keeps attention well, interesting guest speakers.",
      "length": "Good length at 25 minutes, does not overstay."
    },
    "overall_feedback": "Solid podcast episode. The host asks great follow-up questions."
  }
}

Summary

TypeDescriptionResponse Key
textFree-form text answeranswer
multiple_choiceSelect one or more optionsselected_ids
rating_scaleNumeric rating on a scalerating
image_comparisonCompare two imagesselected_image_id, reasoning
rankingRank items in orderranked_ids
yes_noBinary yes/no answeranswer
sentimentSentiment analysissentiment
image_selectionSelect images from a setselected_image_ids
free_form_textLong text with length limitstext
video_reviewReview video contentreview, overall_feedback
audio_reviewReview audio contentreview, overall_feedback