{"id":767,"date":"2026-09-28T05:14:32","date_gmt":"2026-09-28T05:14:32","guid":{"rendered":"https:\/\/getaiwork.com\/articles\/?p=767"},"modified":"2026-10-02T04:15:38","modified_gmt":"2026-10-02T04:15:38","slug":"ai-trainer-jobs","status":"publish","type":"post","link":"https:\/\/getaiwork.com\/articles\/ai-trainer-jobs\/","title":{"rendered":"AI Trainer Jobs: What the Title Means on Real Postings"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>AI trainer jobs are contract or hourly roles where people write, rate and correct AI model answers against a written standard. On postings read 28 September 2026, xAI listed US AI tutors at $35 to $75 an hour, yet only 25 of 1,720 listings on our board used the word trainer in the title at all.<\/strong><\/p>\n\n\n\n<div class=\"msq-audio\" data-article=\"ai-trainer-jobs\" data-minutes=\"15\">\n<style>.msq-audio{margin:1.25em 0 1.75em;padding:16px 18px;background:#F1F4FA;border:1px solid #DDE3EE;border-radius:12px}\n.msq-audio-lead{margin:0 0 8px;font-size:.95em}.msq-audio audio{width:100%;margin:0 0 12px;display:block}\n.msq-toc-title{margin:0 0 6px;font-weight:700}.msq-toc ol{margin:0;padding:0;list-style:none}\n.msq-toc li{display:flex;gap:10px;align-items:center;padding:6px 6px;border-bottom:1px solid #DDE3EE;border-radius:8px}\n.msq-toc li:last-child{border-bottom:0}.msq-toc li.is-active{background:#fff}\n.msq-toc-play{flex:0 0 auto;width:30px;height:30px;border-radius:50%;border:0;background:#1E3A8A;color:#fff;font:inherit;font-size:.72em;line-height:30px;padding:0;cursor:pointer}\n.msq-toc-play.is-playing{background:#B45309}\n.msq-toc-time{flex:0 0 auto;min-width:3.1em;font-variant-numeric:tabular-nums;color:#55555F;font-size:.9em}\n.msq-toc a{color:#1B1F24;text-decoration:none;line-height:1.35}.msq-toc li.is-active a{font-weight:700;color:#1E3A8A}\n.msq-audio-note{margin:10px 0 0;font-size:.82em;color:#55555F}\nh2.wp-block-heading[id]{scroll-margin-top:24px}\n.msq-hplay{display:inline-block;vertical-align:middle;width:26px;height:26px;margin:0 0 0 10px;border-radius:50%;border:0;background:#1E3A8A;cursor:pointer;padding:0;position:relative;top:-2px}\n.msq-hplay::before{content:'\u25b6\ufe0e';display:block;color:#fff;font-size:11px;line-height:26px;text-align:center}\n.msq-hplay.is-playing{background:#B45309}.msq-hplay.is-playing::before{content:'\u2016';font-size:13px;font-weight:700}\n.msq-bar{position:fixed;left:0;right:0;bottom:0;z-index:9000;display:flex;align-items:center;gap:10px;padding:8px 12px;padding-bottom:calc(8px + env(safe-area-inset-bottom));background:#FFFFFF;border-top:1px solid #DDE3EE;box-shadow:0 -4px 16px rgba(0,0,0,.08);font-size:.92em;color:#1B1F24;transition:transform .2s ease}\n.msq-bar.is-hidden{transform:translateY(130%)}\n.msq-bar-play{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:999px;background:#1E3A8A;color:#fff;font:inherit;font-weight:700;padding:8px 14px 8px 12px;cursor:pointer;white-space:nowrap}\n.msq-bar-play.is-playing{background:#B45309}\n.msq-bar-icon::before{content:'\u25b6\ufe0e';font-size:12px}.msq-bar-play.is-playing .msq-bar-icon::before{content:'\u2016';font-size:14px;font-weight:700}\n.msq-bar-chapter{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.msq-bar-time{flex:0 0 auto;font-variant-numeric:tabular-nums;color:#55555F;font-size:.9em}\n.msq-bar-rate,.msq-bar-close{flex:0 0 auto;border:1px solid #DDE3EE;background:#fff;color:#1B1F24;font:inherit;font-size:.85em;line-height:1;border-radius:8px;padding:7px 9px;cursor:pointer}\n.msq-bar-close::before{content:'\u2715'}\n.msq-bar.msq-bar-pill{left:auto;right:14px;bottom:14px;padding:6px;padding-bottom:6px;border:1px solid #DDE3EE;border-radius:999px;box-shadow:0 6px 20px rgba(0,0,0,.15)}\n.msq-bar.msq-bar-pill .msq-bar-chapter,.msq-bar.msq-bar-pill .msq-bar-time,.msq-bar.msq-bar-pill .msq-bar-rate{display:none}\nbody.msq-has-bar{padding-bottom:76px}\n@media (max-width:600px){.msq-bar-time{display:none}.msq-bar{gap:8px;padding-left:10px;padding-right:10px}}\n.msq-s.msq-now{background:#F1F4FA;box-shadow:0 2px 0 #1E3A8A;border-radius:2px}\ntr.msq-now td,tr.msq-now th{background:#F1F4FA;box-shadow:inset 0 -2px 0 #1E3A8A}\n@media (hover:hover){.msq-s,tr[data-i]{cursor:pointer}.msq-s:hover{background:#F1F4FA}}<\/style>\n<script type=\"application\/ld+json\">{\"@context\":\"https:\/\/schema.org\",\"@type\":\"AudioObject\",\"@id\":\"https:\/\/getaiwork.com\/articles\/ai-trainer-jobs\/#audio\",\"name\":\"AI Trainer Jobs: What the Title Means on Real Postings, read aloud\",\"description\":\"Synthetic voice reading of the article, recorded 2 October 2026.\",\"contentUrl\":\"https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/10\/ai-trainer-jobs-audio-202610020945.mp3\",\"encodingFormat\":\"audio\/mpeg\",\"duration\":\"PT14M51S\",\"uploadDate\":\"2026-10-02\",\"inLanguage\":\"en-US\",\"isAccessibleForFree\":true,\"mainEntityOfPage\":\"https:\/\/getaiwork.com\/articles\/ai-trainer-jobs\/\",\"hasPart\":[{\"@type\":\"Clip\",\"name\":\"AI Trainer Jobs: What the Title Means on Real Postings\",\"startOffset\":0,\"endOffset\":49},{\"@type\":\"Clip\",\"name\":\"What does AI trainer mean on an actual job posting?\",\"startOffset\":49,\"endOffset\":126,\"url\":\"https:\/\/getaiwork.com\/articles\/ai-trainer-jobs\/#what-does-ai-trainer-mean-on-an-actual-job-posting\"},{\"@type\":\"Clip\",\"name\":\"How often do real postings use the word trainer?\",\"startOffset\":126,\"endOffset\":321,\"url\":\"https:\/\/getaiwork.com\/articles\/ai-trainer-jobs\/#how-often-do-real-postings-use-the-word-trainer\"},{\"@type\":\"Clip\",\"name\":\"Who is hiring AI trainers now, and what do they list?\",\"startOffset\":321,\"endOffset\":563,\"url\":\"https:\/\/getaiwork.com\/articles\/ai-trainer-jobs\/#who-is-hiring-ai-trainers-now-and-what-do-they-list\"},{\"@type\":\"Clip\",\"name\":\"How is an AI trainer different from a rater or annotator?\",\"startOffset\":563,\"endOffset\":649,\"url\":\"https:\/\/getaiwork.com\/articles\/ai-trainer-jobs\/#how-is-an-ai-trainer-different-from-a-rater-or-annotator\"},{\"@type\":\"Clip\",\"name\":\"What happens between applying and the first paid task?\",\"startOffset\":649,\"endOffset\":709,\"url\":\"https:\/\/getaiwork.com\/articles\/ai-trainer-jobs\/#what-happens-between-applying-and-the-first-paid-task\"},{\"@type\":\"Clip\",\"name\":\"What do people who applied actually report?\",\"startOffset\":709,\"endOffset\":825,\"url\":\"https:\/\/getaiwork.com\/articles\/ai-trainer-jobs\/#what-do-people-who-applied-actually-report\"},{\"@type\":\"Clip\",\"name\":\"How do you tell a real AI trainer posting from a fake one?\",\"startOffset\":825,\"endOffset\":891,\"url\":\"https:\/\/getaiwork.com\/articles\/ai-trainer-jobs\/#how-do-you-tell-a-real-ai-trainer-posting-from-a-fake-one\"}],\"contentSize\":\"6.2 MB\"}<\/script>\n<p class=\"msq-audio-lead\"><strong>Listen to this article<\/strong>, about 15 minutes. A synthetic voice reads the article and announces each section title as it begins; tables are read row by row and the questions at the end are left out.<\/p>\n<audio class=\"msq-audio-player\" controls preload=\"metadata\" src=\"https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/10\/ai-trainer-jobs-audio-202610020945.mp3\"><\/audio>\n<nav class=\"msq-toc\" aria-label=\"In this article\"><p class=\"msq-toc-title\">In this article<\/p>\n<ol>\n<li data-start=\"0.0\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"0.0\" aria-label=\"Play from: AI Trainer Jobs: What the Title Means on Real Postings\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">0:00<\/span><a href=\"#top\">AI Trainer Jobs: What the Title Means on Real Postings<\/a><\/li>\n<li data-start=\"48.9\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"48.9\" aria-label=\"Play from: What does AI trainer mean on an actual job posting?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">0:49<\/span><a href=\"#what-does-ai-trainer-mean-on-an-actual-job-posting\">What does AI trainer mean on an actual job posting?<\/a><\/li>\n<li data-start=\"126.24\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"126.24\" aria-label=\"Play from: How often do real postings use the word trainer?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">2:06<\/span><a href=\"#how-often-do-real-postings-use-the-word-trainer\">How often do real postings use the word trainer?<\/a><\/li>\n<li data-start=\"320.58\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"320.58\" aria-label=\"Play from: Who is hiring AI trainers now, and what do they list?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">5:21<\/span><a href=\"#who-is-hiring-ai-trainers-now-and-what-do-they-list\">Who is hiring AI trainers now, and what do they list?<\/a><\/li>\n<li data-start=\"563.08\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"563.08\" aria-label=\"Play from: How is an AI trainer different from a rater or annotator?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">9:23<\/span><a href=\"#how-is-an-ai-trainer-different-from-a-rater-or-annotator\">How is an AI trainer different from a rater or annotator?<\/a><\/li>\n<li data-start=\"648.66\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"648.66\" aria-label=\"Play from: What happens between applying and the first paid task?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">10:49<\/span><a href=\"#what-happens-between-applying-and-the-first-paid-task\">What happens between applying and the first paid task?<\/a><\/li>\n<li data-start=\"708.92\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"708.92\" aria-label=\"Play from: What do people who applied actually report?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">11:49<\/span><a href=\"#what-do-people-who-applied-actually-report\">What do people who applied actually report?<\/a><\/li>\n<li data-start=\"825.42\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"825.42\" aria-label=\"Play from: How do you tell a real AI trainer posting from a fake one?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">13:45<\/span><a href=\"#how-do-you-tell-a-real-ai-trainer-posting-from-a-fake-one\">How do you tell a real AI trainer posting from a fake one?<\/a><\/li>\n<\/ol><\/nav>\n<p class=\"msq-audio-note\">Recorded 2 October 2026 from the article as published that day. Press a chapter to jump there; the highlighted line is what is playing. A play button sits beside every section heading, and once you scroll past this player a bar at the bottom of the screen keeps the controls in reach. Tap or click any sentence to hear the reading start from there.<\/p>\n<script>var MSQ_SENT = [[0.0,\"h\",\"aitrainerjobswhatthetitl\",44],[3.4,\"p\",\"aitrainerjobsarecontract\",104],[13.8,\"p\",\"onpostingsread28septembe\",128],[31.24,\"p\",\"onthispagesixvendorsaitr\",160],[48.9,\"h\",\"whatdoesaitrainermeanona\",41],[53.14,\"p\",\"stripawaytheadvertcopyan\",119],[63.34,\"p\",\"dataannotationliststheta\",175],[78.06,\"p\",\"theexpertendofthemarketa\",255],[99.66,\"p\",\"itaddsthattheworkisgroun\",211],[114.82,\"p\",\"nobodyitturnsoutisteachi\",46],[118.82,\"p\",\"thejobisclosertomarkinge\",81],[126.24,\"h\",\"howoftendorealpostingsus\",39],[129.76,\"p\",\"rarelywhichsurprisedme\",22],[131.48,\"p\",\"irunthegetaiworkworkboar\",127],[144.16,\"p\",\"countingthewordsintheirt\",89],[151.4,\"p\",\"atitlecancontainmorethan\",55],[156.48,\"t\",\"expert\",64],[167.24,\"t\",\"specialist\",67],[179.28,\"t\",\"annotatororannotation\",75],[193.24,\"t\",\"evaluatororevaluation\",76],[205.16,\"t\",\"trainer\",79],[218.24,\"t\",\"raterorrating\",65],[226.88,\"t\",\"tutor\",63],[236.28,\"p\",\"sothewordtheadvertsshout\",83],[243.24,\"p\",\"oneofthe25trainertitlesi\",105],[251.56,\"p\",\"amongtherestlistedpayran\",153],[268.08,\"p\",\"acrossthewholeboardthatd\",162],[282.32,\"p\",\"thosearelistedfiguresrat\",54],[286.64,\"p\",\"ifasearchfortrainerturns\",125],[296.4,\"p\",\"generalistisasimilarstor\",121],[307.68,\"p\",\"ifyouwouldrathernotread1\",154],[320.58,\"h\",\"whoishiringaitrainersnow\",41],[324.06,\"p\",\"thesearethepostingsandve\",54],[328.06,\"p\",\"payisshownexactlyaseachv\",101],[334.3,\"t\",\"xai\",339],[376.62,\"t\",\"handshakeai\",222],[406.26,\"t\",\"dataannotation\",232],[437.42,\"t\",\"outlier\",253],[465.78,\"t\",\"alignerr\",199],[493.22,\"t\",\"meridialbyinvisible\",229],[527.9,\"p\",\"twothingsstandout\",17],[529.14,\"p\",\"thelistedrangesarewidebe\",130],[539.86,\"p\",\"andthearrangementvariesm\",187],[552.66,\"p\",\"ourreviewsofhandshakeaia\",125],[563.08,\"h\",\"howisanaitrainerdifferen\",46],[566.56,\"p\",\"mostlybywhatyouhandovera\",38],[569.8,\"p\",\"vendorsusetheselabelsloo\",92],[577.32,\"t\",\"aitrainerortutor\",136],[591.88,\"t\",\"airater\",140],[607.96,\"t\",\"annotator\",107],[621.08,\"t\",\"policytrainerorevaluator\",140],[632.28,\"p\",\"thetrainerlabelusuallyme\",80],[638.68,\"p\",\"ratingworkiscoveredinour\",115],[648.66,\"h\",\"whathappensbetweenapplyi\",45],[652.5,\"p\",\"ontheplatformsasequencet\",44],[655.98,\"p\",\"outliersownpagelistsfour\",134],[668.38,\"p\",\"dataannotationcompresses\",44],[672.26,\"p\",\"whatneitherpagegivesisat\",116],[680.18,\"p\",\"ourwalkthroughofthedataa\",69],[683.98,\"p\",\"thetwoemployerpostingsru\",170],[696.02,\"p\",\"thatdifferencemattersatt\",30],[697.9,\"p\",\"thisisnottaxorlegaladvic\",139],[708.92,\"h\",\"whatdopeoplewhoappliedac\",36],[711.28,\"p\",\"ireadthe16mostrecentrevi\",118],[723.12,\"p\",\"thesearewhatreviewersrep\",94],[730.6,\"p\",\"outlierheldatrustscoreof\",69],[740.16,\"p\",\"theoutliersamplespliteve\",27],[741.84,\"p\",\"fourfivestarreviewsfrom2\",109],[750.84,\"p\",\"againstthata27septemberr\",308],[774.52,\"p\",\"thedataannotationsamplew\",54],[779.04,\"p\",\"reviewerson18and26septem\",229],[795.88,\"p\",\"a2septemberrevieweralleg\",106],[803.48,\"p\",\"theonefourstarreviewenjo\",66],[808.36,\"p\",\"wheretheaccountsagreewit\",70],[812.48,\"p\",\"wheretheydonotneitherven\",99],[819.4,\"p\",\"ourpagesondataannotation\",85],[825.42,\"h\",\"howdoyoutellarealaitrain\",45],[829.02,\"p\",\"realpostingsliveontheven\",121],[837.94,\"p\",\"thefakeonesarriveinatele\",165],[850.1,\"p\",\"thetellismoneyflowingthe\",114],[859.26,\"p\",\"theftchasdocumentedthisp\",67],[864.82,\"p\",\"noneofthesixvendorpagesr\",87],[871.82,\"p\",\"thesafestplacetostartist\",188],[885.34,\"p\",\"listedrateschangeandnoth\",56]];\n(function(){\n  function init(){\n  var root = document.querySelector('.msq-audio'); if (!root) { return; }\n  var audio = root.querySelector('audio'), items = Array.prototype.slice.call(root.querySelectorAll('.msq-toc li'));\n  var starts = items.map(function(li){ return parseFloat(li.getAttribute('data-start')) || 0; });\n  var names = items.map(function(li){ return li.querySelector('a').textContent; });\n  var anchors = items.map(function(li){ var h = li.querySelector('a').getAttribute('href') || ''; return (h.charAt(0) === '#' && h !== '#top') ? document.getElementById(h.slice(1)) : null; });\n  var article = root.getAttribute('data-article') || location.pathname, minutes = root.getAttribute('data-minutes') || '';\n  var marks = {}, started = false, pausedAt = -1, closed = false, ended = false;\n  var RATES = [1, 1.25, 1.5], rate = 1;\n  try { var saved = parseFloat(localStorage.getItem('msq-audio-rate')); if (RATES.indexOf(saved) >= 0) { rate = saved; } } catch (e) {}\n  audio.playbackRate = rate;\n  function track(name, extra){ try { if (typeof gtag === 'function') { var p = { article: article }; for (var k in extra) { p[k] = extra[k]; } gtag('event', name, p); } } catch (e) {} }\n  function current(){ var t = audio.currentTime, idx = 0; for (var i = 0; starts.length > i; i += 1) { if (t + 0.25 >= starts[i]) { idx = i; } } return idx; }\n  function onScreen(){\n    var line = window.innerHeight \/ 3, idx = 0;\n    for (var i = 0; anchors.length > i; i += 1) { var el = anchors[i]; if (el && line >= el.getBoundingClientRect().top) { idx = i; } }\n    return idx;\n  }\n  function fmt(s){ s = Math.max(0, Math.round(s || 0)); var m = Math.floor(s \/ 60), r = s % 60; return m + ':' + (10 > r ? '0' : '') + r; }\n  function play(from, source){\n    if (from !== null) { audio.currentTime = from; }\n    var p = audio.play(); if (p && p.catch) { p.catch(function(){}); }\n    track(from === null ? 'audio_resume' : 'audio_chapter', { chapter: names[current()], start: Math.round(audio.currentTime), source: source });\n  }\n  var hbtns = anchors.map(function(el, i){\n    if (!el) { return null; }\n    var b = document.createElement('button'); b.type = 'button'; b.className = 'msq-hplay'; b.setAttribute('aria-label', 'Play this section: ' + names[i]);\n    b.addEventListener('click', function(){\n      if (!audio.paused && current() === i) { audio.pause(); track('audio_pause', { source: 'heading' }); return; }\n      play(starts[i], 'heading');\n    });\n    el.appendChild(b); return b;\n  });\n  var bar = document.createElement('div'); bar.className = 'msq-bar msq-bar-pill is-hidden'; bar.setAttribute('role', 'region'); bar.setAttribute('aria-label', 'Audio player');\n  var playBtn = document.createElement('button'); playBtn.type = 'button'; playBtn.className = 'msq-bar-play';\n  var icon = document.createElement('span'); icon.className = 'msq-bar-icon'; icon.setAttribute('aria-hidden', 'true');\n  var label = document.createElement('span'); label.className = 'msq-bar-label';\n  playBtn.appendChild(icon); playBtn.appendChild(label);\n  var chap = document.createElement('span'); chap.className = 'msq-bar-chapter';\n  var clock = document.createElement('span'); clock.className = 'msq-bar-time';\n  var rateBtn = document.createElement('button'); rateBtn.type = 'button'; rateBtn.className = 'msq-bar-rate'; rateBtn.setAttribute('aria-label', 'Playback speed');\n  var closeBtn = document.createElement('button'); closeBtn.type = 'button'; closeBtn.className = 'msq-bar-close'; closeBtn.setAttribute('aria-label', 'Close the audio bar');\n  bar.appendChild(playBtn); bar.appendChild(chap); bar.appendChild(clock); bar.appendChild(rateBtn); bar.appendChild(closeBtn);\n  document.body.appendChild(bar);\n  function showRate(){ rateBtn.textContent = (rate === 1 ? '1' : String(rate)) + 'x'; }\n  showRate();\n  rateBtn.addEventListener('click', function(){\n    rate = RATES[(RATES.indexOf(rate) + 1) % RATES.length]; audio.playbackRate = rate; showRate();\n    try { localStorage.setItem('msq-audio-rate', String(rate)); } catch (e) {}\n    track('audio_rate', { rate: rate });\n  });\n  closeBtn.addEventListener('click', function(){\n    closed = true; if (!audio.paused) { audio.pause(); } paint(); track('audio_bar_close', {});\n  });\n  function mode(){\n    if (!audio.paused) { return 'pause'; }\n    if (ended) { return 'again'; }\n    if (!started) { return 'listen'; }\n    return (pausedAt === onScreen()) ? 'resume' : 'section';\n  }\n  playBtn.addEventListener('click', function(){\n    var m = mode();\n    if (m === 'pause') { audio.pause(); track('audio_pause', { source: 'bar' }); return; }\n    if (m === 'again') { ended = false; play(0, 'bar'); return; }\n    if (m === 'resume') { play(null, 'bar'); return; }\n    play(starts[onScreen()], 'bar');\n  });\n  function paint(){\n    var idx = current(), playing = !audio.paused, m = mode();\n    items.forEach(function(li, i){\n      var on = (i === idx) && playing, b = li.querySelector('.msq-toc-play'), a = li.querySelector('a');\n      li.classList.toggle('is-active', on); b.classList.toggle('is-playing', on);\n      b.textContent = on ? '\u2016' : '\u25b6\ufe0e';\n      b.setAttribute('aria-label', (on ? 'Pause: ' : 'Play from: ') + a.textContent);\n    });\n    hbtns.forEach(function(b, i){ if (b) { var on = (i === idx) && playing; b.classList.toggle('is-playing', on); b.setAttribute('aria-label', (on ? 'Pause this section: ' : 'Play this section: ') + names[i]); } });\n    playBtn.classList.toggle('is-playing', playing);\n    label.textContent = m === 'pause' ? 'Pause' : m === 'again' ? 'Play again' : m === 'resume' ? 'Resume' : m === 'section' ? 'Play this section' : 'Listen, ' + minutes + ' min';\n    playBtn.setAttribute('aria-label', label.textContent);\n    chap.textContent = started ? names[(playing || m === 'resume') ? idx : onScreen()] : '';\n    clock.textContent = started ? fmt(audio.currentTime) + ' \/ ' + fmt(audio.duration) : '';\n    bar.classList.toggle('msq-bar-pill', !started);\n    var show = !closed && (started || 0 > root.getBoundingClientRect().bottom);\n    bar.classList.toggle('is-hidden', !show);\n    document.body.classList.toggle('msq-has-bar', show);\n  }\n  root.addEventListener('click', function(e){\n    var b = e.target.closest ? e.target.closest('.msq-toc-play') : null; if (!b) { return; }\n    var li = b.parentNode, s = parseFloat(b.getAttribute('data-start')) || 0;\n    if (!audio.paused && current() === items.indexOf(li)) { audio.pause(); track('audio_pause', { source: 'index' }); return; }\n    play(s, 'index');\n  });\n  audio.addEventListener('play', function(){ ended = false; closed = false; if (!started) { started = true; track('audio_play', { minutes: Math.round((audio.duration || 0) \/ 60) }); } paint(); });\n  audio.addEventListener('pause', function(){ pausedAt = current(); paint(); });\n  audio.addEventListener('timeupdate', function(){\n    paint();\n    if (audio.duration > 0) {\n      var pct = Math.floor(audio.currentTime \/ audio.duration * 100);\n      [25, 50, 75].forEach(function(m){ if (pct >= m && !marks[m]) { marks[m] = true; track('audio_progress', { percent: m }); } });\n    }\n  });\n  audio.addEventListener('ended', function(){ ended = true; track('audio_complete', {}); paint(); });\n  var ticking = false;\n  function onScroll(){ if (ticking) { return; } ticking = true; setTimeout(function(){ ticking = false; paint(); }, 80); }\n  window.addEventListener('scroll', onScroll, { passive: true }); window.addEventListener('resize', onScroll);\n  paint();\n  }\n  if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', init); } else { init(); }\n})();\n\n(function(){\n  function start(){\n    var root = document.querySelector('.msq-audio'), audio = root ? root.querySelector('audio') : null;\n    var map = (typeof MSQ_SENT !== 'undefined') ? MSQ_SENT : [];\n    if (!root || !audio || !map.length) { return; }\n    var scope = root.closest('main') || root.closest('article') || root.closest('.entry-content') || document.body;\n    var SKIP = '.msq-audio,.msq,.msq-tool,.msq-end,.msq-bar,script,style,noscript,figcaption,#rank-math-faq,.rank-math-block,nav,header,footer';\n    function norm(s){ return s.toLowerCase().replace(\/[^a-z0-9]+\/g, ''); }\n    var nodes = [], stream = '', walker = document.createTreeWalker(scope, NodeFilter.SHOW_TEXT, null), n;\n    while ((n = walker.nextNode())) {\n      var el = n.parentElement; if (!el || el.closest(SKIP)) { continue; }\n      var raw = n.nodeValue, keep = [], norms = '';\n      for (var i = 0; raw.length > i; i += 1) { var c = raw.charAt(i).toLowerCase(); if (\/[a-z0-9]\/.test(c)) { keep.push(i); norms += c; } }\n      if (!norms) { continue; }\n      nodes.push({ node: n, a: stream.length, b: stream.length + norms.length, keep: keep });\n      stream += norms;\n    }\n    var segs = [], cursor = 0, lastRow = null;\n    map.forEach(function(m, idx){\n      var kind = m[1], f = m[2], len = m[3];\n      if (kind === 't') {\n        var rows = scope.querySelectorAll('tr'), after = !lastRow;\n        for (var r = 0; rows.length > r; r += 1) {\n          var tr = rows[r];\n          if (!after) { if (tr === lastRow) { after = true; } continue; }\n          var cell = tr.querySelector('td,th');\n          if (cell && norm(cell.textContent).indexOf(f) === 0) { tr.setAttribute('data-i', idx); lastRow = tr; break; }\n        }\n        return;\n      }\n      var p = stream.indexOf(f, cursor); if (0 > p) { return; }\n      segs.push({ i: idx, a: p, b: Math.min(p + len, stream.length) }); cursor = p + len;\n    });\n    var si = 0;\n    nodes.forEach(function(nd){\n      var frag = document.createDocumentFragment(), raw = nd.node.nodeValue, rawPos = 0, any = false;\n      for (var k = si; segs.length > k; k += 1) {\n        var sg = segs[k]; if (sg.a >= nd.b) { break; } if (nd.a >= sg.b) { continue; }\n        var s = Math.max(sg.a, nd.a), e = Math.min(sg.b, nd.b);\n        var rs = nd.keep[s - nd.a], re2 = nd.keep[e - nd.a - 1] + 1;\n        if (rs > rawPos) { frag.appendChild(document.createTextNode(raw.slice(rawPos, rs))); }\n        var span = document.createElement('span'); span.className = 'msq-s'; span.setAttribute('data-i', sg.i); span.textContent = raw.slice(rs, re2);\n        frag.appendChild(span); rawPos = re2; any = true;\n        if (sg.b > nd.b) { break; }\n      }\n      while (segs.length > si && nd.b >= segs[si].b) { si += 1; }\n      if (!any) { return; }\n      if (raw.length > rawPos) { frag.appendChild(document.createTextNode(raw.slice(rawPos))); }\n      nd.node.parentNode.replaceChild(frag, nd.node);\n    });\n    var starts = map.map(function(m){ return m[0]; }), curIdx = -1, lastUser = 0, timer = null, autoUntil = 0, dragging = false;\n    function idxAt(t){ var lo = 0, hi = starts.length; while (hi > lo + 1) { var mid = (lo + hi) >> 1; if (t + 0.15 >= starts[mid]) { lo = mid; } else { hi = mid; } } return (t + 0.15 >= starts[0]) ? lo : -1; }\n    function setNow(i){\n      if (i === curIdx) { return; }\n      Array.prototype.forEach.call(scope.querySelectorAll('.msq-now'), function(el){ el.classList.remove('msq-now'); });\n      curIdx = i; if (0 > i) { return; }\n      var els = scope.querySelectorAll('[data-i=\"' + i + '\"]'); if (!els.length) { return; }\n      Array.prototype.forEach.call(els, function(el){ el.classList.add('msq-now'); });\n      var r = els[0].getBoundingClientRect(), now = Date.now();\n      if (!dragging && now > lastUser + 2500 && (80 > r.top || r.bottom > window.innerHeight - 140)) {\n        var reduce = window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n        autoUntil = now + (reduce ? 400 : 1600);\n        els[0].scrollIntoView({ block: 'center', behavior: reduce ? 'auto' : 'smooth' });\n      }\n    }\n    function tick(){ if (!audio.paused) { setNow(idxAt(audio.currentTime)); } }\n    function userScrolled(){ lastUser = Date.now(); }\n    ['wheel', 'touchmove', 'keydown'].forEach(function(ev){ window.addEventListener(ev, userScrolled, { passive: true }); });\n    window.addEventListener('scroll', function(){ if (Date.now() > autoUntil) { userScrolled(); } }, { passive: true });\n    window.addEventListener('mousedown', function(e){ if (e.clientX >= document.documentElement.clientWidth) { dragging = true; userScrolled(); } }, { passive: true });\n    window.addEventListener('mouseup', function(){ if (dragging) { dragging = false; userScrolled(); } }, { passive: true });\n    audio.addEventListener('play', function(){ if (timer) { clearInterval(timer); } timer = setInterval(tick, 150); tick(); });\n    audio.addEventListener('pause', function(){ if (timer) { clearInterval(timer); timer = null; } });\n    scope.addEventListener('click', function(e){\n      if (e.target.closest('a, button, input, select, textarea, label, summary, .msq, .msq-tool, .msq-end, .msq-audio, .msq-bar')) { return; }\n      var sel = window.getSelection ? String(window.getSelection()) : '';\n      if (sel && sel.trim()) { return; }\n      var el = e.target.closest('[data-i]'); if (!el) { return; }\n      var i = parseInt(el.getAttribute('data-i'), 10); if (isNaN(i)) { return; }\n      if (!audio.paused && i === curIdx) { return; }\n      lastUser = Date.now();\n      audio.currentTime = starts[i];\n      var p = audio.play(); if (p && p.catch) { p.catch(function(){}); }\n      try { if (typeof gtag === 'function') { gtag('event', 'audio_chapter', { article: location.pathname, source: 'sentence', start: Math.round(starts[i]) }); } } catch (err) {}\n    });\n    audio.addEventListener('seeked', tick);\n    audio.addEventListener('ended', function(){ setNow(-1); });\n  }\n  if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', start); } else { start(); }\n})();<\/script>\n<\/div>\n\n\n\n<p class=\"msq-hook wp-block-paragraph\">On this page: six vendors&#8217; AI trainer postings read on 28 September 2026 with pay as listed, a count of the words 1,720 real board listings use instead of trainer, and 16 dated reviews from applicants.<\/p>\n\n\n\n<div class=\"msq\" id=\"ms-quiz\" data-slug=\"ai-trainer-jobs\" data-category=\"ai jobs\" data-list=\"1\">\n<style>.msq,.msq-hook,.msq-box,.msq-end,.msq-tool{--msq-accent:#1E3A8A;--msq-accent-text:#FFFFFF;--msq-line:#DDE3EE;--msq-warn:#B45309;--msq-muted:#55555F;--msq-tint:#F1F4FA;--msq-base:#FFFFFF}\n.msq{margin:1.25em 0 1.75em}\n.msq-hook{border-left:3px solid var(--msq-accent);padding:6px 14px;color:var(--msq-muted);font-size:.97em}\n.msq-box{background:var(--msq-tint);border:1px solid var(--msq-line);border-radius:12px;padding:0}\n.msq-box>summary{cursor:pointer;list-style:none;padding:14px 18px;font-weight:700;color:var(--msq-accent)}\n.msq-box>summary::-webkit-details-marker{display:none}\n.msq-box>summary::before{content:\"+\";display:inline-block;width:1.1em;font-weight:800}\n.msq-box[open]>summary::before{content:\"\\00d7\"}\n.msq-body{padding:2px 18px 18px}\n.msq-intro{margin:0 0 12px;font-size:.95em;color:var(--msq-muted)}\n.msq-list{margin:0;padding:0;list-style:none}\n.msq-q{margin:0 0 18px;padding:0}\n.msq-question{font-weight:700;margin:0 0 8px}\n.msq-options{display:flex;flex-direction:column;gap:8px}\n.msq-opt{text-align:left;background:var(--msq-base);border:1px solid var(--msq-line);border-radius:8px;padding:10px 12px;font:inherit;font-size:.95em;color:inherit;cursor:pointer;line-height:1.35}\n.msq-opt:hover{border-color:var(--msq-accent)}\n.msq-opt[disabled]{cursor:default}\n.msq-opt.is-right{border-color:var(--msq-accent);background:var(--msq-line);font-weight:700}\n.msq-opt.is-wrong{border-color:var(--msq-warn);color:var(--msq-warn)}\n.msq-explain{margin:8px 0 0;font-size:.92em;padding:10px 12px;border-left:3px solid var(--msq-accent);background:var(--msq-base);border-radius:0 8px 8px 0}\n.msq-explain[hidden]{display:none}\n.msq-verdict{font-weight:700}\n.msq-result{margin-top:14px;padding:14px 16px;background:var(--msq-base);border:1px solid var(--msq-line);border-radius:10px}\n.msq-result[hidden]{display:none}\n.msq-result h3{margin:0 0 6px;font-size:1.1em}\n.msq-result p{margin:0 0 8px}\n.msq-jump{margin:0 0 8px;padding-left:1.2em}\n.msq-form{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}\n.msq-form input[type=email]{flex:1 1 220px;padding:10px 12px;border:1px solid var(--msq-muted);border-radius:8px;font:inherit;background:#fff}\n.msq-btn{background:var(--msq-accent);color:var(--msq-accent-text);border:0;border-radius:8px;padding:11px 18px;font:inherit;font-weight:700;cursor:pointer}\n.msq-btn:hover{filter:brightness(.92)}\n.msq-btn[disabled]{opacity:.7;cursor:default}\n.msq-no{font-size:.9em;color:var(--msq-muted);margin-left:4px}\n.msq-privacy{margin:6px 0 0;font-size:.82em;color:var(--msq-muted);flex-basis:100%}\n.msq-hp{position:absolute;left:-5000px;width:1px;height:1px;overflow:hidden}\n.msq-msg{margin:8px 0 0;font-size:.92em}\n.msq-end{margin:1.5em 0;padding:18px;border:1px solid var(--msq-accent);border-radius:12px;text-align:center;background:var(--msq-tint)}\n.msq-end p{margin:0 0 12px}\n.msq-end .msq-body{text-align:left;padding:16px 0 0}\n.msq-end .msq-start-test[hidden]{display:none}\n.msq-tool{margin:1.5em 0;padding:18px 20px;background:var(--msq-tint);border:1px solid var(--msq-line);border-radius:12px}\n.msq-tool h3{margin:0 0 6px;font-size:1.15em}\n.msq-tool p{margin:0 0 10px}\n.msq-tool .msq-note{font-size:.85em;color:var(--msq-muted);margin:10px 0 0}\n.msq-check label{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-bottom:1px solid var(--msq-line);cursor:pointer;line-height:1.4}\n.msq-check label:last-of-type{border-bottom:0}\n.msq-check input{margin-top:5px;flex:0 0 auto;width:18px;height:18px;accent-color:var(--msq-accent)}\n.msq-check-count{font-weight:700;margin:10px 0 0}\n.msq-verdict-box{margin:12px 0 0;padding:10px 14px;border-radius:8px;background:var(--msq-base);border-left:3px solid var(--msq-warn)}\n.msq-verdict-box[hidden]{display:none}\n.msq-calc{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px}\n.msq-calc label{display:flex;flex-direction:column;gap:4px;font-size:.92em}\n.msq-calc input,.msq-calc select{padding:8px 10px;border:1px solid var(--msq-muted);border-radius:8px;font:inherit;background:#fff}\n.msq-calc-out{grid-column:1 \/ -1;margin-top:6px;padding:12px 14px;background:var(--msq-base);border-radius:8px;border:1px solid var(--msq-line)}\n.msq-calc-out strong{font-size:1.15em}\n.msq-choose label{display:block;padding:9px 12px;margin:0 0 8px;background:var(--msq-base);border:1px solid var(--msq-line);border-radius:8px;cursor:pointer}\n.msq-choose input{margin-right:8px;accent-color:var(--msq-accent)}\n.msq-choice-result{margin-top:10px;padding:12px 14px;background:var(--msq-base);border-left:3px solid var(--msq-accent);border-radius:0 8px 8px 0}\n.msq-choice-result[hidden]{display:none}\n@media (max-width:600px){.msq-calc{grid-template-columns:1fr}}\nh2.wp-block-heading[id]{scroll-margin-top:24px}<\/style>\n<noscript><style>.msq-explain{display:block !important}<\/style><\/noscript>\n<details class=\"msq-box\">\n<summary>Think you already know this? Five questions, one minute.<\/summary>\n<div class=\"msq-body\">\n<p class=\"msq-intro\">Every answer is on this page. Answer from what you know now; the page fills in the rest.<\/p>\n<ol class=\"msq-list\">\n<li class=\"msq-q\" data-q=\"1\" data-answer=\"b\" data-title=\"What does AI trainer mean on an actual job posting?\" data-section=\"#what-does-ai-trainer-mean-on-an-actual-job-posting\">\n<p class=\"msq-question\">1. How does xAI&#8217;s humanities tutor posting describe the work?<\/p>\n<div class=\"msq-options\" role=\"group\" aria-label=\"Question 1 options\"><button type=\"button\" class=\"msq-opt\" data-opt=\"a\">Creative writing for a chatbot&#8217;s personality<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"b\">Scholarly judgment: evaluating outputs and writing sourced reference answers<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"c\">Labelling images for a vision model<\/button><\/div>\n<p class=\"msq-explain\" hidden><span class=\"msq-verdict\"><\/span>The posting says the work is grounded in scholarly judgment, not creative writing, per <a href=\"https:\/\/job-boards.greenhouse.io\/xai\/jobs\/5227951007\" target=\"_blank\" rel=\"noopener\">xAI&#8217;s AI Tutor posting<\/a>. <a class=\"msq-section\" href=\"#what-does-ai-trainer-mean-on-an-actual-job-posting\">Read the section<\/a><\/p>\n<\/li>\n<li class=\"msq-q\" data-q=\"2\" data-answer=\"c\" data-title=\"How often do real postings use the word trainer?\" data-section=\"#how-often-do-real-postings-use-the-word-trainer\">\n<p class=\"msq-question\">2. On the board crawl of 27 September 2026, which word appeared most often in listing titles?<\/p>\n<div class=\"msq-options\" role=\"group\" aria-label=\"Question 2 options\"><button type=\"button\" class=\"msq-opt\" data-opt=\"a\">trainer<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"b\">tutor<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"c\">expert<\/button><\/div>\n<p class=\"msq-explain\" hidden><span class=\"msq-verdict\"><\/span>Expert appeared in 281 titles against 25 for trainer, counted from the <a href=\"https:\/\/getaiwork.com\/board\/\" target=\"_blank\" rel=\"noopener\">getAIwork board<\/a>. <a class=\"msq-section\" href=\"#how-often-do-real-postings-use-the-word-trainer\">Read the section<\/a><\/p>\n<\/li>\n<li class=\"msq-q\" data-q=\"3\" data-answer=\"a\" data-title=\"Who is hiring AI trainers now, and what do they list?\" data-section=\"#who-is-hiring-ai-trainers-now-and-what-do-they-list\">\n<p class=\"msq-question\">3. What US pay range did xAI list for its AI Tutor role on 28 September 2026?<\/p>\n<div class=\"msq-options\" role=\"group\" aria-label=\"Question 3 options\"><button type=\"button\" class=\"msq-opt\" data-opt=\"a\">$35 to $75 an hour<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"b\">$15 to $20 an hour<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"c\">No figure at all<\/button><\/div>\n<p class=\"msq-explain\" hidden><span class=\"msq-verdict\"><\/span>US based candidates were listed at $35 to $75 an hour, with international pay given during recruitment, per <a href=\"https:\/\/job-boards.greenhouse.io\/xai\/jobs\/5227951007\" target=\"_blank\" rel=\"noopener\">the xAI posting<\/a>. Rates change and are not guaranteed. <a class=\"msq-section\" href=\"#who-is-hiring-ai-trainers-now-and-what-do-they-list\">Read the section<\/a><\/p>\n<\/li>\n<li class=\"msq-q\" data-q=\"4\" data-answer=\"b\" data-title=\"How is an AI trainer different from a rater or annotator?\" data-section=\"#how-is-an-ai-trainer-different-from-a-rater-or-annotator\">\n<p class=\"msq-question\">4. What does an AI rater mainly produce, as the page sorts the labels?<\/p>\n<div class=\"msq-options\" role=\"group\" aria-label=\"Question 4 options\"><button type=\"button\" class=\"msq-opt\" data-opt=\"a\">Grading rubrics and long written answers<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"b\">Scores and rankings of model answers<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"c\">Code for the model itself<\/button><\/div>\n<p class=\"msq-explain\" hidden><span class=\"msq-verdict\"><\/span>Raters score and rank answers, while trainers write answers and rubrics; <a href=\"https:\/\/outlier.ai\/\" target=\"_blank\" rel=\"noopener\">Outlier<\/a> lists rating and ranking answers as one task among several. <a class=\"msq-section\" href=\"#how-is-an-ai-trainer-different-from-a-rater-or-annotator\">Read the section<\/a><\/p>\n<\/li>\n<li class=\"msq-q\" data-q=\"5\" data-answer=\"a\" data-title=\"What happens between applying and the first paid task?\" data-section=\"#what-happens-between-applying-and-the-first-paid-task\">\n<p class=\"msq-question\">5. How long does Outlier say its onboarding typically takes?<\/p>\n<div class=\"msq-options\" role=\"group\" aria-label=\"Question 5 options\"><button type=\"button\" class=\"msq-opt\" data-opt=\"a\">30 to 90 minutes<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"b\">Two weeks<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"c\">It gives no figure<\/button><\/div>\n<p class=\"msq-explain\" hidden><span class=\"msq-verdict\"><\/span>Outlier&#8217;s own page says onboarding typically takes 30 to 90 minutes; it gives no time for the wait for a first project, per <a href=\"https:\/\/outlier.ai\/\" target=\"_blank\" rel=\"noopener\">Outlier<\/a>. <a class=\"msq-section\" href=\"#what-happens-between-applying-and-the-first-paid-task\">Read the section<\/a><\/p>\n<\/li>\n<\/ol>\n<div class=\"msq-result\" hidden><\/div>\n<\/div>\n<\/details>\n<script>(function(){\n  if (window.__msqInit) { return; }\n  window.__msqInit = true;\n  var root = document.getElementById('ms-quiz');\n  if (!root) { return; }\n  var meta = { slug: root.getAttribute('data-slug'), category: root.getAttribute('data-category'),\n               list: root.getAttribute('data-list') || '1' };\n  function qs(el, s){ return el.querySelector(s); }\n  function qsa(el, s){ return Array.prototype.slice.call(el.querySelectorAll(s)); }\n  function track(name, params){\n    try { if (typeof gtag === 'function') { var p = params || {}; p.article = meta.slug; gtag('event', name, p); } } catch (e) {}\n  }\n  function jumpList(missed){\n    if (!missed.length) { return ''; }\n    return '<ul class=\"msq-jump\">' + missed.map(function(q){\n      return '<li><a href=\"' + q.getAttribute('data-section') + '\">' + q.getAttribute('data-title') + '<\/a><\/li>';\n    }).join('') + '<\/ul>';\n  }\n  function emailForm(){\n    return '<div class=\"msq-sub\"><p><strong>Get the next one.<\/strong> We publish new articles on ' + meta.category\n      + ' most weeks and recheck this page on Sundays. Email me when a new article goes up or this page changes.<\/p>'\n      + '<form class=\"msq-form\" method=\"post\" action=\"\/mail\/form.php\" novalidate>'\n      + '<input type=\"hidden\" name=\"list\" value=\"' + meta.list + '\">'\n      + '<input type=\"hidden\" name=\"name\" value=\"\">'\n      + '<label class=\"msq-hp\" aria-hidden=\"true\">Leave this empty<input type=\"text\" name=\"website\" tabindex=\"-1\" autocomplete=\"off\"><\/label>'\n      + '<input type=\"email\" name=\"email\" placeholder=\"you@example.com\" required aria-label=\"Email address\" autocomplete=\"email\">'\n      + '<button type=\"submit\" class=\"msq-btn\">Email me the updates<\/button>'\n      + '<a href=\"#\" class=\"msq-no\">No thanks<\/a>'\n      + '<p class=\"msq-privacy\">We store your email and this page\\'s topic, nothing else. Unsubscribe any time.<\/p>'\n      + '<\/form><p class=\"msq-msg\" aria-live=\"polite\"><\/p><\/div>';\n  }\n  \/* The autoresponder always answers 200 with its own page. A \".msg.err\" box means the\n     address was rejected, \"You're subscribed\" means accepted, and a redirect only happens\n     after a successful subscribe. Same reading as the landing pages on the other sites. *\/\n  function sendForm(form){\n    return fetch(form.getAttribute('action'), { method: 'POST', body: new FormData(form), credentials: 'same-origin', redirect: 'manual' })\n      .then(function(res){\n        if (res.type === 'opaqueredirect') { return { status: 'ok' }; }\n        if (res.status === 404) { return { status: 'notlive' }; }\n        if (!res.ok) { throw new Error('HTTP ' + res.status); }\n        return res.text().then(function(t){\n          var doc = new DOMParser().parseFromString(t, 'text\/html');\n          var err = doc.querySelector('.msg.err');\n          if (err) {\n            var m = err.textContent.trim();\n            if (\/something went wrong\/i.test(m)) { throw new Error(m); }\n            return { status: 'rejected', message: m };\n          }\n          if (\/you.re subscribed\/i.test(doc.body.textContent)) { return { status: 'ok' }; }\n          return { status: 'unknown' };\n        });\n      });\n  }\n  function wireForm(sub){\n    var form = qs(sub, '.msq-form'), msg = qs(sub, '.msq-msg');\n    qs(form, '.msq-no').addEventListener('click', function(e){\n      e.preventDefault();\n      sub.innerHTML = '<p class=\"msq-msg\">No problem. The Sunday refresh keeps this page current either way.<\/p>';\n      track('quiz_email', { result: 'declined' });\n    });\n    form.addEventListener('submit', function(e){\n      e.preventDefault();\n      var input = qs(form, 'input[name=email]'), btn = qs(form, '.msq-btn');\n      var email = input.value.trim(); input.value = email;\n      if (!\/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$\/.test(email)) { msg.textContent = 'That email does not look right.'; return; }\n      btn.disabled = true; btn.textContent = 'Sending';\n      function reset(){ btn.disabled = false; btn.textContent = 'Email me the updates'; }\n      sendForm(form).then(function(r){\n        if (r.status === 'ok' || r.status === 'unknown') {\n          sub.innerHTML = '<p class=\"msq-msg\"><strong>Done.<\/strong> We will email you when the next article on ' + meta.category\n            + ' goes up and when this page changes. If a confirmation email arrives, click it.<\/p>';\n          track('quiz_email', { result: r.status });\n          if (r.status === 'ok') { track('generate_lead', { method: 'quiz' }); }\n        } else if (r.status === 'notlive') {\n          msg.textContent = 'Sign up is not switched on yet for this site. Nothing was stored.'; reset();\n          track('quiz_email', { result: 'notlive' });\n        } else {\n          msg.textContent = r.message || 'Please check the email address and try again.'; reset();\n          track('quiz_email', { result: 'rejected' });\n        }\n      }).catch(function(){\n        msg.textContent = 'Could not reach the sign up service just now. Nothing was stored.'; reset();\n        track('quiz_email', { result: 'error' });\n      });\n    });\n  }\n  function finish(container, mode, score, total, missed){\n    var result = qs(container, '.msq-result');\n    track('quiz_complete', { mode: mode, score: score, total: total });\n    var h;\n    if (mode === 'pre') {\n      h = '<h3>You knew ' + score + ' of ' + total + ' before reading.<\/h3>';\n      h += (score === total) ? '<p>All of them. Read on anyway; the sections below carry the detail behind each answer.<\/p>'\n                             : '<p>The rest is below. Jump straight to what you missed:<\/p>' + jumpList(missed);\n      try { sessionStorage.setItem('msq-pre-' + meta.slug, String(score)); } catch (e) {}\n    } else {\n      var pre = null;\n      try { pre = sessionStorage.getItem('msq-pre-' + meta.slug); } catch (e) {}\n      h = '<h3>You got ' + score + ' of ' + total + '.<\/h3>';\n      if (pre !== null) { h += '<p>Before reading you had ' + pre + ' of ' + total + '.<\/p>'; }\n      if (missed.length) { h += '<p>Worth a second look:<\/p>' + jumpList(missed); }\n      h += emailForm();\n    }\n    result.innerHTML = h; result.hidden = false;\n    if (mode !== 'pre') { wireForm(qs(result, '.msq-sub')); }\n    result.scrollIntoView({ behavior: 'smooth', block: 'nearest' });\n  }\n  function setup(container, mode){\n    var qEls = qsa(container, '.msq-q'), answered = 0, score = 0, missed = [];\n    qEls.forEach(function(q){\n      var answer = q.getAttribute('data-answer'), opts = qsa(q, '.msq-opt'), explain = qs(q, '.msq-explain');\n      q.removeAttribute('data-done'); explain.hidden = true; qs(explain, '.msq-verdict').textContent = '';\n      opts.forEach(function(b){ b.disabled = false; b.classList.remove('is-right', 'is-wrong'); });\n      opts.forEach(function(b){\n        b.addEventListener('click', function(){\n          if (q.getAttribute('data-done')) { return; }\n          q.setAttribute('data-done', '1');\n          var ok = b.getAttribute('data-opt') === answer;\n          opts.forEach(function(o){ o.disabled = true; if (o.getAttribute('data-opt') === answer) { o.classList.add('is-right'); } });\n          if (ok) { score += 1; } else { b.classList.add('is-wrong'); missed.push(q); }\n          qs(explain, '.msq-verdict').textContent = ok ? 'Right. ' : 'Not quite. ';\n          explain.hidden = false;\n          answered += 1;\n          track('quiz_answer', { mode: mode, question: q.getAttribute('data-q'), correct: ok ? 1 : 0 });\n          if (answered === qEls.length) { finish(container, mode, score, qEls.length, missed); }\n        });\n      });\n    });\n  }\n  var box = qs(root, '.msq-box');\n  setup(root, 'pre');\n  if (box) { box.addEventListener('toggle', function(){ if (box.open) { track('quiz_open', { mode: 'pre' }); } }); }\n  \/* The end block sits far below this script, so it does not exist yet while this runs\n     during parsing. A delegated listener finds it at click time. *\/\n  document.addEventListener('click', function(e){\n    var startBtn = (e.target && e.target.closest) ? e.target.closest('.msq-start-test') : null;\n    if (!startBtn) { return; }\n    var end = startBtn.closest('.msq-end');\n    if (!end) { return; }\n    var mount = qs(end, '.msq-mount');\n    var clone = qs(root, '.msq-body').cloneNode(true);\n    var intro = qs(clone, '.msq-intro');\n    if (intro) { intro.textContent = 'The same five questions, now that you have read the page.'; }\n    var res = qs(clone, '.msq-result'); if (res) { res.hidden = true; res.innerHTML = ''; }\n    mount.innerHTML = ''; mount.appendChild(clone);\n    setup(mount, 'test');\n    startBtn.hidden = true;\n    track('quiz_open', { mode: 'test' });\n    mount.scrollIntoView({ behavior: 'smooth', block: 'start' });\n    var first = qs(mount, '.msq-opt'); if (first) { first.focus({ preventScroll: true }); }\n  });\n  \/* Shared tool behaviour: checklists remember their ticks on this device, and a chooser\n     shows the result for the option picked. Calculators carry their own small script. *\/\n  function initTools(){\n    qsa(document, '.msq-check').forEach(function(box){\n      var key = 'msq-check-' + meta.slug + '-' + (box.getAttribute('data-id') || 'x');\n      var boxes = qsa(box, 'input[type=checkbox]'), count = qs(box, '.msq-check-count');\n      var yes = qs(box, '.msq-verdict-yes'), no = qs(box, '.msq-verdict-no');\n      var saved = {};\n      try { saved = JSON.parse(localStorage.getItem(key) || '{}'); } catch (e) {}\n      boxes.forEach(function(cb, i){ if (saved[i]) { cb.checked = true; } });\n      function refresh(){\n        var n = boxes.filter(function(cb){ return cb.checked; }).length, state = {};\n        boxes.forEach(function(cb, i){ if (cb.checked) { state[i] = 1; } });\n        try { localStorage.setItem(key, JSON.stringify(state)); } catch (e) {}\n        if (count) { count.textContent = n + ' of ' + boxes.length + (box.getAttribute('data-verb') || ' done'); }\n        if (yes && no) { yes.hidden = n === 0; no.hidden = n !== 0; }\n      }\n      boxes.forEach(function(cb){ cb.addEventListener('change', function(){ refresh(); track('tool_check', { tool: box.getAttribute('data-id') }); }); });\n      refresh();\n    });\n    qsa(document, '.msq-choose').forEach(function(box){\n      var results = qsa(box, '.msq-choice-result');\n      qsa(box, 'input[type=radio]').forEach(function(r){\n        r.addEventListener('change', function(){\n          results.forEach(function(el){ el.hidden = el.getAttribute('data-for') !== r.value; });\n          track('tool_choose', { tool: box.getAttribute('data-id'), choice: r.value });\n        });\n      });\n    });\n  }\n  \/\/ read progress: how far down the article the reader has scrolled, fired once per quarter\n  (function(){\n    var art = root.closest('article') || root.parentNode, fired = {};\n    function check(){\n      var top = art.getBoundingClientRect().top + window.pageYOffset, h = art.offsetHeight || 1;\n      var seen = (window.pageYOffset + window.innerHeight - top) \/ h * 100;\n      [25, 50, 75, 100].forEach(function(m){ if (seen >= m && !fired[m]) { fired[m] = true; track('read_progress', { percent: m }); } });\n    }\n    window.addEventListener('scroll', check, { passive: true }); window.addEventListener('load', check);\n  })();\n  if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initTools); } else { initTools(); }\n})();<\/script>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"what-does-ai-trainer-mean-on-an-actual-job-posting\">What does AI trainer mean on an actual job posting?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Strip away the advert copy and every vendor describes the same core job: judge what a model said against a standard, then show it something better. <a href=\"https:\/\/www.dataannotation.tech\/\" target=\"_blank\" rel=\"noopener\">DataAnnotation<\/a> lists the tasks as &#8220;reviewing responses, checking accuracy, refining prompts, and rating outputs.&#8221; <a href=\"https:\/\/outlier.ai\/\" target=\"_blank\" rel=\"noopener\">Outlier<\/a> names three: write a challenging prompt, create grading rubrics, and rate and rank answers.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The expert end of the market asks for more judgment and less clicking. xAI&#8217;s <a href=\"https:\/\/job-boards.greenhouse.io\/xai\/jobs\/5227951007\" target=\"_blank\" rel=\"noopener\">AI Tutor, Humanities posting<\/a>, updated 24 September 2026, wants people to evaluate model outputs for factual accuracy and hidden assumptions, flag confident sounding errors, and write exemplary responses grounded in primary sources. It adds that the work is &#8220;grounded in scholarly judgment, not creative writing.&#8221; Handshake AI&#8217;s <a href=\"https:\/\/jobs.ashbyhq.com\/handshake\/0b652757-a760-48c5-bd54-26464b3fd1d4\" target=\"_blank\" rel=\"noopener\">AI Model Policy Trainer, Generalist<\/a> role reads conversations, decides which customer policy category applies, and writes a rationale another person could audit. Nobody, it turns out, is teaching a robot to ride a bicycle. The job is closer to marking essays with a very detailed rubric and a very fussy head of department.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"how-often-do-real-postings-use-the-word-trainer\">How often do real postings use the word trainer?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Rarely, which surprised me. I run the <a href=\"https:\/\/getaiwork.com\/board\/\">getAIwork work board<\/a>, which screens AI work listings by hand every day, and a crawl of the public board on 27 September 2026 captured 1,720 listings. Counting the words in their titles shows the gap between the advert vocabulary and the posting vocabulary. A title can contain more than one of these words, so the rows overlap.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Word in the listing title<\/th><th>Listings on 27 Sep 2026<\/th><th>Most frequent posters<\/th><\/tr><\/thead><tbody><tr><td>expert<\/td><td>281<\/td><td>Mercor (119), micro1 (90)<\/td><\/tr><tr><td>specialist<\/td><td>100<\/td><td>Mercor (28), micro1 (26)<\/td><\/tr><tr><td>annotator or annotation<\/td><td>45<\/td><td>Neon (6), YO AI Labs (5)<\/td><\/tr><tr><td>evaluator or evaluation<\/td><td>32<\/td><td>Mercor (11), micro1 (6)<\/td><\/tr><tr><td>trainer<\/td><td>25<\/td><td>Welo Global, Anyone Ai and micro1 (4 each)<\/td><\/tr><tr><td>rater or rating<\/td><td>12<\/td><td>Welo Global (11)<\/td><\/tr><tr><td>tutor<\/td><td>2<\/td><td>micro1, Duolingo (1 each)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">So the word the adverts shout is trainer, and the word the postings use is expert, eleven times as often. One of the 25 trainer titles is not AI training at all: Anthropic&#8217;s GTM Enablement Trainer trains sales staff on Claude products. Among the rest, listed pay ran from $10 to $20 an hour on a micro1 Robotics Data Trainer listing to $100 to $180 an hour on a micro1 listing titled simply AI trainer, as listed on 27 September 2026. Across the whole board that day, generalist and writing listings carried a median listed rate of $63 an hour over 214 listings, and language listings $36 over 132, per the board&#8217;s <a href=\"https:\/\/getaiwork.com\/stats\">published statistics<\/a>. Those are listed figures, rates change, and nothing is guaranteed. If a search for trainer turns up little, searching for expert, evaluator and specialist finds the same kind of work under the names vendors actually use. Generalist is a similar story: on real postings it names two unrelated jobs, which our page on <a href=\"https:\/\/getaiwork.com\/articles\/ai-generalist-jobs\/\">what AI generalist means on real postings<\/a> sorts apart.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you would rather not read 1,700 titles to find the handful that match your background, the <a href=\"https:\/\/getaiwork.com\/?h=aitrainer&#038;utm_source=articles&#038;utm_medium=organic&#038;utm_content=ai-trainer-jobs\">AI trainer match quiz<\/a> asks a few questions and points you at the platforms whose entry rules fit.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"who-is-hiring-ai-trainers-now-and-what-do-they-list\">Who is hiring AI trainers now, and what do they list?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">These are the postings and vendor pages read on 28 September 2026. Pay is shown exactly as each vendor listed it; none of it is a promise, and the same page can say something different next week.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Vendor<\/th><th>Title on the posting<\/th><th>Listed pay (source, date)<\/th><th>The gate<\/th><th>Arrangement<\/th><\/tr><\/thead><tbody><tr><td><a href=\"https:\/\/job-boards.greenhouse.io\/xai\" target=\"_blank\" rel=\"noopener\">xAI<\/a><\/td><td>AI Tutor, 24 open postings (languages, humanities, writing, video, software, legal)<\/td><td>US: $35 to $75 an hour; international: given during recruitment (xAI posting, 28 Sep 2026)<\/td><td>Deep field knowledge; PhD preferred for humanities; no hires in Wyoming or Illinois; no visa sponsorship<\/td><td>Full time, part time or contractor; remote worldwide subject to eligibility<\/td><\/tr><tr><td><a href=\"https:\/\/jobs.ashbyhq.com\/handshake\/0b652757-a760-48c5-bd54-26464b3fd1d4\" target=\"_blank\" rel=\"noopener\">Handshake AI<\/a><\/td><td>AI Model Policy Trainer, Generalist<\/td><td>$30 to $85 an hour (Ashby posting, published 28 Aug 2026)<\/td><td>Policy judgment; regular exposure to sensitive content<\/td><td>Onsite Seattle, 40 hours, W2 through TCWGlobal<\/td><\/tr><tr><td><a href=\"https:\/\/www.dataannotation.tech\/\" target=\"_blank\" rel=\"noopener\">DataAnnotation<\/a><\/td><td>No single title; &#8220;teach AI your expertise&#8221;<\/td><td>General $25 to $50, coding $40 to $150+, professional $40 to $125+, language $25 to $40 an hour (homepage, 28 Sep 2026)<\/td><td>Apply, then qualify through an assessment<\/td><td>Remote contract<\/td><\/tr><tr><td><a href=\"https:\/\/outlier.ai\/\" target=\"_blank\" rel=\"noopener\">Outlier<\/a><\/td><td>AI trainers and experts<\/td><td>No rate on the homepage; &#8220;competitive pay + quality-based rewards, paid weekly&#8221; (28 Sep 2026)<\/td><td>ID and phone from your country, resume, LinkedIn, identity and skill checks<\/td><td>Remote contract, about 50 countries per its site<\/td><\/tr><tr><td><a href=\"https:\/\/www.alignerr.com\/\" target=\"_blank\" rel=\"noopener\">Alignerr<\/a><\/td><td>Role by role<\/td><td>Roles shown from $30 to $35 up to $40 to $120 an hour (homepage, 28 Sep 2026)<\/td><td>PhDs, researchers, subject experts; native speakers for language roles<\/td><td>Remote contract<\/td><\/tr><tr><td><a href=\"https:\/\/invisibletech.ai\/marketplace\" target=\"_blank\" rel=\"noopener\">Meridial by Invisible<\/a><\/td><td>Expert contractor<\/td><td>Not published; rates confirmed before a project starts (28 Sep 2026)<\/td><td>Domain experts in law, STEM, finance, coding, linguistics, safety<\/td><td>Project based independent contractor<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Two things stand out. The listed ranges are wide because the vendor prices the field, not the title: DataAnnotation lists its general tier from $25 an hour and its coding tier from $40. And the arrangement varies more than the pay. xAI says most contractor projects may involve at least 10 hours a week with no fixed commitment, while the Handshake role is a fixed 40 hour week, paid hourly and eligible for overtime. Our reviews of <a href=\"https:\/\/getaiwork.com\/articles\/handshake-ai-review\/\">Handshake AI<\/a> and <a href=\"https:\/\/getaiwork.com\/articles\/alignerr-review\/\">Alignerr<\/a> go deeper on each, and the <a href=\"https:\/\/getaiwork.com\/articles\/data-annotation-jobs-compared\/\">data annotation platforms compared<\/a> page sets the generalist platforms side by side.<\/p>\n\n\n\n<div class=\"msq-tool msq-choose\" data-id=\"trainer-role-fit\">\n<h3>Which AI trainer role family matches what you already have?<\/h3>\n<p>Pick the line closest to your background. Each result restates the vendor table on this page, as listed on 28 September 2026.<\/p>\n<label><input type=\"radio\" name=\"trainer-role-fit\" value=\"field\">A degree or deep knowledge in a humanities, science or legal field<\/label>\n<label><input type=\"radio\" name=\"trainer-role-fit\" value=\"code\">I write code<\/label>\n<label><input type=\"radio\" name=\"trainer-role-fit\" value=\"lang\">I am fluent in a second language<\/label>\n<label><input type=\"radio\" name=\"trainer-role-fit\" value=\"gen\">A careful reader and writer with no specialist field<\/label>\n<label><input type=\"radio\" name=\"trainer-role-fit\" value=\"office\">I want a salaried week in an office<\/label>\n<div class=\"msq-choice-result\" data-for=\"field\" hidden><strong>Expert tutor roles.<\/strong> xAI&#8217;s AI Tutor postings and Alignerr&#8217;s specialist roles ask for field depth; xAI prefers a PhD for humanities.<\/div>\n<div class=\"msq-choice-result\" data-for=\"code\" hidden><strong>Coding tracks.<\/strong> DataAnnotation lists a separate coding tier and xAI has a software engineering tutor posting.<\/div>\n<div class=\"msq-choice-result\" data-for=\"lang\" hidden><strong>Language tracks.<\/strong> xAI had tutor postings in 17 languages, and DataAnnotation lists a language specialist tier.<\/div>\n<div class=\"msq-choice-result\" data-for=\"gen\" hidden><strong>Generalist platform work.<\/strong> DataAnnotation&#8217;s general tier and Outlier&#8217;s generalist projects, both gated by an assessment.<\/div>\n<div class=\"msq-choice-result\" data-for=\"office\" hidden><strong>Employer roles.<\/strong> The Handshake AI policy trainer role is a 40 hour W2 week, onsite in Seattle.<\/div>\n<p class=\"msq-note\">This restates the page&#8217;s table and is not a prediction of acceptance or pay. Listed rates change and nothing is guaranteed.<\/p>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"how-is-an-ai-trainer-different-from-a-rater-or-annotator\">How is an AI trainer different from a rater or annotator?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Mostly by what you hand over at the end of a task. Vendors use these labels loosely, and one project can mix all four, but the postings above sort roughly like this.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Label<\/th><th>What you produce<\/th><th>Typical gate<\/th><th>Seen on a real posting<\/th><\/tr><\/thead><tbody><tr><td>AI trainer or tutor<\/td><td>Written answers, critiques and grading rubrics<\/td><td>Field test or interview<\/td><td>xAI AI Tutor; Outlier<\/td><\/tr><tr><td>AI rater<\/td><td>Scores and rankings of model answers or search results<\/td><td>Guidelines exam<\/td><td>Welo Global, 11 rater titles on 27 Sep<\/td><\/tr><tr><td>Annotator<\/td><td>Labels on text, images, audio or video<\/td><td>Short task test<\/td><td>Neon, YO AI Labs<\/td><\/tr><tr><td>Policy trainer or evaluator<\/td><td>A category decision plus a written rationale<\/td><td>Judgment assessment<\/td><td>Handshake AI, Mercor<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The trainer label usually means writing is involved, which is why the expert roles cluster there. Rating work is covered in our guide to <a href=\"https:\/\/getaiwork.com\/articles\/ai-rater-jobs\/\">AI rater jobs<\/a>, and the preference ranking behind reinforcement learning has its own page on <a href=\"https:\/\/getaiwork.com\/articles\/rlhf-jobs\/\">RLHF jobs<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1376\" height=\"768\" src=\"https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/09\/close-up-laptop-and-notebook-for-ai-trainer-jobs.jpg\" alt=\"A close up of hands typing on a laptop near a notebook while researching ai trainer jobs.\" class=\"wp-image-765\" srcset=\"https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/09\/close-up-laptop-and-notebook-for-ai-trainer-jobs.jpg 1376w, https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/09\/close-up-laptop-and-notebook-for-ai-trainer-jobs-300x167.jpg 300w, https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/09\/close-up-laptop-and-notebook-for-ai-trainer-jobs-1024x572.jpg 1024w, https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/09\/close-up-laptop-and-notebook-for-ai-trainer-jobs-768x429.jpg 768w\" sizes=\"auto, (max-width: 1376px) 100vw, 1376px\" \/><figcaption class=\"wp-block-image__caption\">Paying attention to detail is a key skill for digital task work.<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"what-happens-between-applying-and-the-first-paid-task\">What happens between applying and the first paid task?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">On the platforms, a sequence that looks short on paper. Outlier&#8217;s own page lists four steps, create a profile, import and review skills, verify identity, verify skills, and says onboarding typically takes 30 to 90 minutes. DataAnnotation compresses it to apply, qualify, work. What neither page gives is a time for the step after the test, when you wait to be matched to a project, and that is where most complaints collect. Our walkthrough of <a href=\"https:\/\/getaiwork.com\/articles\/how-to-pass-the-dataannotation-starter-assessment\/\">the DataAnnotation Starter Assessment<\/a> covers the test itself.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1376\" height=\"768\" src=\"https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/09\/man-at-desk-applying-for-ai-trainer-jobs.jpg\" alt=\"A man wearing headphones contemplates his screen while preparing for new ai trainer jobs.\" class=\"wp-image-766\" srcset=\"https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/09\/man-at-desk-applying-for-ai-trainer-jobs.jpg 1376w, https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/09\/man-at-desk-applying-for-ai-trainer-jobs-300x167.jpg 300w, https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/09\/man-at-desk-applying-for-ai-trainer-jobs-1024x572.jpg 1024w, https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/09\/man-at-desk-applying-for-ai-trainer-jobs-768x429.jpg 768w\" sizes=\"auto, (max-width: 1376px) 100vw, 1376px\" \/><figcaption class=\"wp-block-image__caption\">On the platforms, an identity check and a skills test come before any project.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The two employer postings run a conventional hiring process instead: xAI says role details come during the interview process, and the Handshake role is employment through a staffing firm, TCWGlobal, on a W2. That difference matters at tax time. This is not tax or legal advice: the <a href=\"https:\/\/www.irs.gov\/businesses\/small-businesses-self-employed\/independent-contractor-self-employed-or-employee\" target=\"_blank\" rel=\"noopener\">IRS explains how employees and independent contractors differ<\/a>, and a qualified adviser can say which applies to a given arrangement.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1600\" height=\"900\" src=\"https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/09\/ai-trainer-jobs-chart.png\" alt=\"Timeline of ai trainer jobs intake, from application and identity check to skills test, project match and first task.\" class=\"wp-image-769\" srcset=\"https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/09\/ai-trainer-jobs-chart.png 1600w, https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/09\/ai-trainer-jobs-chart-300x169.png 300w, https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/09\/ai-trainer-jobs-chart-1024x576.png 1024w, https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/09\/ai-trainer-jobs-chart-768x432.png 768w, https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/09\/ai-trainer-jobs-chart-1536x864.png 1536w\" sizes=\"auto, (max-width: 1600px) 100vw, 1600px\" \/><figcaption class=\"wp-block-image__caption\">Steps as described on Outlier&#8217;s and DataAnnotation&#8217;s own pages on 28 September 2026. Neither page states how long the wait for a project match lasts.<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"what-do-people-who-applied-actually-report\">What do people who applied actually report?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">I read the 16 most recent reviews on Trustpilot for two platforms on 28 September 2026, eight each, dated between 12 August and 27 September 2026. These are what reviewers report, not findings, and recent reviews lean towards people with a problem to post about. <a href=\"https:\/\/www.trustpilot.com\/review\/outlier.ai\" target=\"_blank\" rel=\"noopener\">Outlier<\/a> held a TrustScore of 4.1 from 5,290 reviews; <a href=\"https:\/\/www.trustpilot.com\/review\/dataannotation.tech\" target=\"_blank\" rel=\"noopener\">DataAnnotation<\/a> held 3.9 from 1,968.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The Outlier sample split evenly. Four five star reviews from 22 to 27 September praised reliable payments and clear tasks, one noting that task availability varies. Against that, a 27 September reviewer who applied for Chinese voice work said they were placed on a different project with lower pay than advertised, another described an account stuck in an empty queue after a similarity flag they blamed on a glitched onboarding, and a four star reviewer on 22 September liked the workflow but reported a deactivation with no explanation.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The DataAnnotation sample was harsher: six of eight were one star. Reviewers on 18 and 26 September described months with no response or no projects after applying, one on 25 September said they kept repeating a qualification test without moving forward, and one on 17 September said the bilingual assessment was not offered in their language. A 2 September reviewer alleged an account locked with earnings frozen, which is the reviewer&#8217;s allegation and not verified here. The one four star review enjoyed the work but reported droughts lasting months.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Where the accounts agree with the vendors: the first onboarding step really is short. Where they do not: neither vendor page mentions the wait for a first project, and it is the single most repeated complaint. Our pages on <a href=\"https:\/\/getaiwork.com\/articles\/dataannotation-no-response\/\">DataAnnotation not responding<\/a> and <a href=\"https:\/\/getaiwork.com\/articles\/outlier-alternatives\/\">Outlier alternatives<\/a> cover what applicants try next.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"how-do-you-tell-a-real-ai-trainer-posting-from-a-fake-one\">How do you tell a real AI trainer posting from a fake one?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Real postings live on the vendor&#8217;s own board or careers page, as every row in the table above does, and they list pay as a range with a location attached. The fake ones arrive in a Telegram or WhatsApp message from a so called recruiter claiming to hire for OpenAI, a company whose real openings sit on its own careers board, as our <a href=\"https:\/\/getaiwork.com\/articles\/openai-careers\/\">OpenAI careers<\/a> page shows. The tell is money flowing the wrong way: a fee for a training kit, a deposit to unlock tasks, or a certificate no employer on this page asked for. The FTC has documented this pattern of <a href=\"https:\/\/www.ftc.gov\/news-events\/data-visualizations\/data-spotlight\/2024\/12\/paying-get-paid-gamified-job-scams-drive-record-losses\" target=\"_blank\" rel=\"noopener\">task scams that make people pay to get paid<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">None of the six vendor pages read for this article mentions a fee to apply or asks for a course certificate. The safest place to start is the <a href=\"https:\/\/getaiwork.com\/board\/\">free public work board<\/a>, which links each listing to the vendor&#8217;s own page and needs no signup, and the <a href=\"https:\/\/getaiwork.com\/?h=paidtrain&#038;utm_source=articles&#038;utm_medium=organic&#038;utm_content=ai-trainer-jobs\">paid AI training quiz<\/a> narrows the list to the platforms that accept someone with your background. Listed rates change, and nothing on any of these pages is guaranteed.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"frequently-asked-questions\">Frequently asked questions<\/h2>\n\n\n<div id=\"rank-math-faq\" class=\"rank-math-block\">\n<div class=\"rank-math-list \">\n<div id=\"faq-q-1\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Do AI trainer jobs need a degree?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>It depends on the tier. xAI&#8217;s humanities tutor posting prefers a PhD or equivalent scholarly depth, and Alignerr names PhDs and researchers. DataAnnotation&#8217;s homepage lists a general tier beside its professional ones and, on 28 September 2026, named no degree for it.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-q-2\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Are AI trainer jobs remote?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Most platform roles are, but not all. The Handshake AI policy trainer role read for this page is onsite in Seattle. Across the whole getAIwork board, 615 of 1,709 live listings were tagged remote on 27 September 2026.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-q-3\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Is AI trainer work full time?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Usually not. Platform work arrives by project with no fixed hours, and xAI says its contractor projects may average at least 10 hours a week with no fixed commitment. The Handshake role is the exception, a 40 hour week on a W2.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-q-4\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Can people in India apply for AI trainer jobs?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Some vendors accept applicants there. xAI says tutor roles can be done remotely from anywhere subject to legal eligibility, though its posting gives international pay only during recruitment. Outlier says it operates in about 50 countries and needs ID and a phone from your country of residence.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-q-5\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Is an AI trainer the same as a prompt engineer?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>No. A prompt engineer designs prompts to get useful output from a model inside a product. An AI trainer produces judgments, answers and rubrics that are used to improve the model itself.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-q-6\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Do I need to pay for an AI trainer course or certificate?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>None of the six vendor pages read for this article asked for one or mentioned a fee to apply. A request for money before work starts is the most reliable sign that a so called AI trainer offer is not real.<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n<div class=\"msq-end\" id=\"ms-quiz-end\">\n<p><strong>Finished the page?<\/strong> The same five questions from the top, to see what stuck.<\/p>\n<button type=\"button\" class=\"msq-btn msq-start-test\">Test Your Understanding of This Article<\/button>\n<div class=\"msq-mount\"><\/div>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Platform statuses and listed pay change without notice. Pay figures are quoted only as listed by the poster on the date shown and are never a promise of earnings. This page was verified on the date shown and is rechecked on the weekly refresh.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Six vendors&#8217; AI trainer postings read on 28 September 2026, the pay each lists, the gate each applies, and why only 25 of 1,720 board listings use the word trainer.<\/p>\n","protected":false},"author":2,"featured_media":764,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","rank_math_title":"AI Trainer Jobs: What the Title Means on Real Postings","rank_math_description":"AI trainer jobs read on 28 September 2026: who is hiring, the pay each vendor lists, the gates they apply, and how trainer differs from rater work.","rank_math_focus_keyword":"ai trainer jobs","rank_math_canonical_url":"","rank_math_breadcrumb_title":"","rank_math_facebook_title":"","rank_math_facebook_description":"","rank_math_facebook_image":"","rank_math_twitter_title":"","rank_math_twitter_description":"","rank_math_twitter_image":"","rank_math_pillar_content":"","rank_math_robots":[],"rank_math_advanced_robots":[]},"categories":[3],"tags":[],"class_list":["post-767","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai-jobs"],"_links":{"self":[{"href":"https:\/\/getaiwork.com\/articles\/wp-json\/wp\/v2\/posts\/767","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/getaiwork.com\/articles\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/getaiwork.com\/articles\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/getaiwork.com\/articles\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/getaiwork.com\/articles\/wp-json\/wp\/v2\/comments?post=767"}],"version-history":[{"count":7,"href":"https:\/\/getaiwork.com\/articles\/wp-json\/wp\/v2\/posts\/767\/revisions"}],"predecessor-version":[{"id":832,"href":"https:\/\/getaiwork.com\/articles\/wp-json\/wp\/v2\/posts\/767\/revisions\/832"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/getaiwork.com\/articles\/wp-json\/wp\/v2\/media\/764"}],"wp:attachment":[{"href":"https:\/\/getaiwork.com\/articles\/wp-json\/wp\/v2\/media?parent=767"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/getaiwork.com\/articles\/wp-json\/wp\/v2\/categories?post=767"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/getaiwork.com\/articles\/wp-json\/wp\/v2\/tags?post=767"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}