OpenAI GPT-6 Luna Decisions — Bulk Text & Image Classifier avatar

OpenAI GPT-6 Luna Decisions — Bulk Text & Image Classifier

Pricing

from $2.00 / 1,000 evaluated items

Go to Apify Store
OpenAI GPT-6 Luna Decisions — Bulk Text & Image Classifier

OpenAI GPT-6 Luna Decisions — Bulk Text & Image Classifier

Label, score and flag texts, images or scraped records in bulk with OpenAI GPT-6 Luna Decisions — your own categories, one typed answer and confidence per row.

Pricing

from $2.00 / 1,000 evaluated items

Rating

0.0

(0)

Developer

Seemu Scraping

Seemu Scraping

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

4 days ago

Last modified

Categories

Share

Turn a list of texts, images or scraped records into structured columns. Give it your own labels — ticket queues, lead grades, sentiment, product categories, "is there a person in this photo?" — and every item comes back with one typed answer per question, plus a confidence score you can filter on.

Powered by OpenAI GPT-6 Luna Decisions — OpenAI's new Decisions API, which returns typed, probabilistic answers instead of chat text: no prompt engineering, no JSON parsing, no free-form text to clean up. You define the options; the answer is always one of them.

What you get

For every text, image or record, one dataset row with:

  • Choice questions — the selected label (department: "billing"), a confidence score, and the probability of every option
  • Score questions — a numeric rating against your own ordered levels (frustration: 1.96), the nearest level's label, confidence, and per-level probabilities
  • Yes/no questions — a plain true/false plus the underlying probability, so you can set your own threshold
  • Images understood, not just text — evaluate photos on their own, or a record's caption together with up to 4 of its images
  • The original text, image URLs and (when reading from a dataset) the full source record, so results stay joinable
  • Export to JSON, CSV, or Google Sheets directly from the Apify console

Ask up to 10 questions at once — they are answered in a single pass per item.

Use cases

  • Support ticket triage — route each message to the right team and flag the urgent ones
  • Social media post classification — label Instagram, TikTok or Facebook posts by caption and photo: promo vs. lifestyle, product category, brand safety
  • Product and listing image tagging — categorise marketplace or e-commerce photos, flag low-quality or off-brand images
  • Review and comment analysis — sentiment, topic and "is this a complaint?" across thousands of reviews at once
  • Lead qualification — score scraped profiles or form submissions against your own ICP criteria
  • Content moderation — flag spam, promotional or unsafe text and images with a tunable confidence threshold

How to use

  1. Paste texts into Texts (one per line) and/or image links into Image URLs — each is evaluated on its own
  2. Or pick a Dataset ID from a previous run (e.g. a social media or e-commerce scraper) to label its records in place:
    • Fields to evaluate — the text fields to send, e.g. caption, title
    • Image fields — the fields holding image URLs, e.g. displayUrl, images
  3. Define your Questions. Each one needs:
    • key — the column name in the output
    • type — choice (pick one option), score (rate against ordered levels), or noul (yes/no)
    • instructions — what you want decided
    • criteria — the options for choice, the ordered levels for score; optional for noul
  4. Set Max Items (default 100; set 0 for no limit) and Concurrency
  5. Run the actor — results appear in the Dataset tab

Question types

[
{
"key": "department",
"type": "choice",
"instructions": "Which team should handle this message?",
"criteria": {
"billing": "Payment or subscription issues",
"technical": "Bugs or integration problems",
"sales": "Pricing or account questions"
}
},
{
"key": "frustration",
"type": "score",
"instructions": "How frustrated the customer appears",
"criteria": [
"Calm, just stating facts",
"Frustrated but civil",
"Very angry, strong language"
]
},
{
"key": "is_urgent",
"type": "noul",
"instructions": "The message conveys urgency or time-sensitivity"
}
]

A choice question also accepts a plain list of labels (["positive", "neutral", "negative"]) when the labels speak for themselves.

Output format

Each dataset record:

{
"itemIndex": 0,
"text": "Hi, I've been trying to connect my Stripe account for 3 days and the integration keeps failing. I'm losing sales. Please help ASAP.",
"department": "technical",
"department_confidence": 0.99,
"department_probabilities": { "billing": 0.01, "technical": 0.99, "sales": 0 },
"frustration": 0.99,
"frustration_label": "Frustrated but civil",
"frustration_confidence": 0.99,
"frustration_probabilities": { "0": 0.01, "1": 0.99, "2": 0 },
"is_urgent": true,
"is_urgent_probability": 0.98
}

Image items also carry imageUrls. If an image can't be downloaded it is listed in imageErrors and the item is evaluated on whatever is left. If none of your options fit an item (say, "which support team?" asked about a photo of a cat), that question is left empty and named in refusedQuestions rather than forcing a wrong answer. If an item can't be evaluated at all, its row still appears with an error field — the rest of the run continues.

Pricing

You pay per item evaluated, plus a small fee per image analysed. Items that fail are not charged.

Notes

  • Texts and records are truncated to 8,000 characters before they are evaluated
  • Images (JPEG, PNG, WebP, GIF; up to 20 MB) are resized automatically; up to 4 images per item
  • Confidence is separate from probability: use <key>_confidence to decide whether to act automatically or send a row to a human