GuidesWriting Job Descriptions

Writing Effective Job Descriptions

Get higher quality files from workers by writing clear, specific job descriptions.

Why Descriptions Matter

The job description is the single most impactful factor in submission quality. Workers use it to understand exactly what you need. Vague descriptions lead to low-scoring submissions and wasted time.

Best Practices

  1. Be specific about the subject — “Photos of outdoor restaurant patios with visible seating” beats “restaurant photos”
  2. Specify technical requirements — Mention orientation, minimum resolution, lighting conditions
  3. Include examples — Describe what a good submission looks like and what to avoid
  4. Set location context — If geographic relevance matters, explain why

Example: Good vs. Bad

Bad Description

“Take photos of coffee shops”

Good Description

“Take photos of independent coffee shop storefronts (not chains like Starbucks). Include:

  • The full exterior with signage visible
  • One close-up of the menu board if visible from outside
  • Landscape orientation, well-lit (daytime only)

Do NOT include photos of interiors, people’s faces, or chain restaurants.”

Job Configuration Tips

File Count

Request more files than you need. With AI scoring, you can filter down to the top results:

const job = await client.createJob({
  type: 'data_collection',
  description: '...',
  files_needed: 100,          // Request 100
  accepted_formats: ['image/jpeg', 'image/png'],
  price_per_file_cents: 50,
});
 
// Later, retrieve only high-scoring files
const topFiles = await client.getJobFiles(job.id, { min_score: 4 });

Accepted Formats

Be permissive with formats unless you have a technical constraint:

Job TypeRecommended Formats
data_collection (images)image/jpeg, image/png, image/webp
data_collection (audio)audio/mpeg, audio/wav, audio/x-m4a
data_collection (video)video/mp4, video/quicktime

Pricing

Higher prices attract more and faster workers. Recommended minimums:

File TypeMinimum PriceRecommended
Images$0.25$0.50-$1.00
Audio$0.50$1.00-$2.00
Video$1.00$2.00-$5.00

Location Constraints

Use the location field to restrict submissions to a geographic area:

{
  "location": {
    "lat": 45.5152,
    "lng": -122.6784,
    "radius_km": 10
  }
}

Workers outside the radius cannot accept the job. GPS metadata on submissions is verified against the constraint.

Monitoring Quality

Use the submission summary endpoint to track quality trends across your jobs:

const summary = await client.getSubmissionSummary({ job_id: 'job_01JQ...' });
console.log(summary.avg_ai_star_rating);  // 3.8
console.log(summary.approval_rate);  // 0.84

If your approval rate is below 70%, consider revising your job description for clarity.