Sapling Logo
AI detector quickstart

Scala AI Detector

Analyze text from a Scala application and receive document- and sentence-level AI detection scores.

  • HTTPS POST
  • HTTP API
  • API key required
Scala logo Scala /api/v1/aidetect

Scala AI detector quickstart

Send at least 150 characters for a more reliable signal. The response score ranges from 0 (more likely human-written) to 1 (more likely AI-generated); use it as evidence, not proof.

No language-specific SDK is required. The example uses a standard or commonly used HTTP client to call Sapling's JSON API.
Scala /api/v1/aidetect

This example uses the HTTP client included with Java 11 and newer.

import java.net.URI
import java.net.http.{HttpClient, HttpRequest, HttpResponse}

object Main {
  def main(args: Array[String]): Unit = {
    val apiKey = Option(System.getenv("SAPLING_API_KEY"))
      .filter(_.nonEmpty)
      .getOrElse(throw new IllegalStateException("Set SAPLING_API_KEY first."))

    val payload =
      """{
        |  "text": "I am an artificial intelligence system designed to help people solve complex problems. My capabilities include natural language processing, machine learning, and predictive analytics.",
        |  "sent_scores": true
        |}""".stripMargin

    val request = HttpRequest.newBuilder()
      .uri(URI.create("https://api.sapling.ai/api/v1/aidetect"))
      .header("Authorization", s"Bearer $apiKey")
      .header("Content-Type", "application/json")
      .POST(HttpRequest.BodyPublishers.ofString(payload))
      .build()

    val response = HttpClient.newHttpClient().send(
      request,
      HttpResponse.BodyHandlers.ofString()
    )

    if (response.statusCode() < 200 || response.statusCode() >= 300) {
      throw new IllegalStateException(
        s"Sapling API error ${response.statusCode()}: ${response.body()}"
      )
    }
    println(response.body())
  }
}
Example response application/json
{
  "score": 0.9989,
  "sentence_scores": [
    {
      "score": 0.9764,
      "sentence": "I am an artificial intelligence system designed to help people solve complex problems."
    },
    {
      "score": 0.9812,
      "sentence": "My capabilities include natural language processing, machine learning, and predictive analytics."
    }
  ],
  "text": "I am an artificial intelligence system designed to help people solve complex problems. My capabilities include natural language processing, machine learning, and predictive analytics."
}

The overall score and sentence scores use different methods and may not match exactly. Choose thresholds based on the false-positive and false-negative costs of your use case.

About Scala

Scala is a programming language designed to run on the JVM, supporting both functional and object-oriented programming patterns. It is designed to be more concise than Java.