homework-grading
Smart Homework Grading
Upload a single K12 homework or test paper image for smart recognition, returning per-question grading conclusions, error analysis, and overall statistics to assist teachers and parents with homework checking.
Usage Cost
60 coins/call
Quick Start
Use a unified response envelope and call directly from your backend.
https://openapi.toolkk.com/v1/homework-gradingcURL Example
curl --request POST \
--url 'https://openapi.toolkk.com/v1/homework-grading' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_API_KEY' \
--data '{\n "imageBase64": "/9j/4AAQSk..."\n}'Python Example
import os
import requests
url = "https://openapi.toolkk.com/v1/homework-grading"
payload = {
"imageBase64": "/9j/4AAQSk..."
}
headers = {
"Content-Type": "application/json",
"X-API-Key": os.getenv("TOOLKK_API_KEY", "YOUR_API_KEY"),
}
response = requests.request("POST", url, headers=headers, json=payload, timeout=30)
response.raise_for_status()
print(response.json())Go Example
package main
import (
"bytes"
"fmt"
"io"
"net/http"
)
func main() {
endpoint := "https://openapi.toolkk.com/v1/homework-grading"
payload := []byte("{\n \"imageBase64\": \"/9j/4AAQSk...\"\n}")
req, err := http.NewRequest("POST", endpoint, bytes.NewBuffer(payload))
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("X-API-Key", "YOUR_API_KEY")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, err := io.ReadAll(resp.Body)
if err != nil {
panic(err)
}
fmt.Println(string(body))
}Java Example
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class ToolkkExample {
public static void main(String[] args) throws Exception {
String payload = "{\n \"imageBase64\": \"/9j/4AAQSk...\"\n}";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://openapi.toolkk.com/v1/homework-grading"))
.method("POST", HttpRequest.BodyPublishers.ofString(payload))
.header("Content-Type", "application/json")
.header("X-API-Key", "YOUR_API_KEY")
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}PHP Example
<?php
$endpoint = 'https://openapi.toolkk.com/v1/homework-grading';
$payload = "{\n \"imageBase64\": \"/9j/4AAQSk...\"\n}";
$ch = curl_init($endpoint);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Content-Type: application/json',
'X-API-Key: YOUR_API_KEY',
],
CURLOPT_POSTFIELDS => $payload,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException(curl_error($ch));
}
curl_close($ch);
echo $response;Response Example
{
"code": "SUCCESS",
"message": "success",
"data": {
"task_id": "2067159946949782356"
}
}Examples illustrate the response structure. Actual results depend on the API response.
- Authentication
- Send X-API-Key in request headers
- Rate limit
- 10 req/min
- Timeout
- 30000 ms
Send your API Key in the X-API-Key header from your backend.
Check both HTTP status and business fields before treating a call as successful.
Use retries and backoff together with rate limits in high-frequency scenarios.
Request Fields
Send requests from your server with the key in the X-API-Key header.
Request Fields
The fields below are derived from example JSON for integration reference only.
| Path | Type | Required | Description | Sample |
|---|---|---|---|---|
| imageBase64 | string | Unspecified | Unspecified | /9j/4AAQSk... |
Request Example
{
"imageBase64": "/9j/4AAQSk..."
}- Authentication
- Send X-API-Key in request headers
- Rate limit
- 10 req/min
- Timeout
- 30000 ms
Response Fields
Examples illustrate the response structure. Actual results depend on the API response.
Response Fields
The fields below are derived from example JSON for integration reference only.
| Path | Type | Required | Description | Sample |
|---|---|---|---|---|
| code | string | Unspecified | Unspecified | SUCCESS |
| message | string | Unspecified | Unspecified | success |
| data | object | Unspecified | Unspecified | {...} |
| data.task_id | string | Unspecified | Unspecified | 2067159946949782356 |
Response Example
{
"code": "SUCCESS",
"message": "success",
"data": {
"task_id": "2067159946949782356"
}
}$.code == 200API overview
Capabilities, use cases, limitations, and frequently asked questions.
API Capabilities
The Smart Homework Grading API supports automatic question recognition and answer comparison by uploading a single K12 homework or test paper image. The API can return per-question grading conclusions (e.g., correct, incorrect, partially correct), error analysis, and overall grading statistics to help quickly identify weak knowledge points.
Request and Response
When making a request, you must provide the Base64 encoding of the image (imageBase64), and you can control whether to disable image pre-processing via the disablePreprocess parameter. In the response, isAllFinished indicates whether grading is complete, status is the request status, stat_result contains statistics on the total number of questions and graded questions, and the imageResults array provides detailed per-question grading specifics.
Use Cases
Suitable for education apps, home-school interaction platforms, or smart learning hardware. It can be used by parents for quick checks when tutoring children's homework daily, or by teachers for auxiliary grading when processing student homework in batches after class, improving homework processing efficiency.
Usage Instructions and Limitations
AI grading may have misjudgments. The results are for learning and reference only. Teachers, parents, or students should manually review the results in conjunction with the specific requirements of the questions. To protect privacy, please redact or crop unnecessary personal sensitive information such as names, student IDs, and schools before uploading images, minimizing the submission of sensitive data. The Toolkk platform does not persistently store user-uploaded homework images.