接口地址
POST https://ai.42ka.cn/api/qrcode/predict
GET https://ai.42ka.cn/api/qrcode/balance?keyCode=YOUR_KEY
示例代码
Python
Go
Java
JavaScript
cURL
PHP
import requests, base64
with open("image.png", "rb") as f:
b64 = base64.b64encode(f.read()).decode()
r = requests.post("https://ai.42ka.cn/api/qrcode/predict", json={
"base64Image": b64,
"modelName": "普通模型",
"keyCode": "YOUR_KEYCODE",
"question": "识别图中文本"
}, timeout=30)
data = r.json()
if data["err"]:
print("Error:", data["err"])
else:
print("Result:", data["msg"])
print("Time:", data["time"], "ms")
package main
import (
"bytes"; "encoding/base64"; "encoding/json"
"fmt"; "io"; "net/http"; "os"
)
func main() {
img, _ := os.ReadFile("image.png")
b64 := base64.StdEncoding.EncodeToString(img)
body, _ := json.Marshal(map[string]interface{}{
"base64Image": b64,
"modelName": "普通模型",
"keyCode": "YOUR_KEYCODE",
"question": "识别图中文本",
})
resp, _ := http.Post(
"https://ai.42ka.cn/api/qrcode/predict",
"application/json", bytes.NewReader(body))
defer resp.Body.Close()
data, _ := io.ReadAll(resp.Body)
var res map[string]interface{}
json.Unmarshal(data, &res)
fmt.Println("Result:", res["msg"])
}
import java.net.http.*;
import java.net.URI;
import java.nio.file.*;
import java.util.Base64;
public class OcrDemo {
public static void main(String[] args) throws Exception {
byte[] imgBytes = Files.readAllBytes(Path.of("image.png"));
String b64 = Base64.getEncoder().encodeToString(imgBytes);
String json = String.format(
"{\"base64Image\":\"%s\",\"modelName\":\"普通模型\","
+ "\"keyCode\":\"YOUR_KEYCODE\",\"question\":\"识别图中文本\"}", b64);
var client = HttpClient.newHttpClient();
var req = HttpRequest.newBuilder()
.uri(URI.create("https://ai.42ka.cn/api/qrcode/predict"))
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(json))
.build();
var resp = client.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.body());
}
}
const fs = require('fs')
const img = fs.readFileSync('image.png')
const b64 = img.toString('base64')
fetch('https://ai.42ka.cn/api/qrcode/predict', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
base64Image: b64,
modelName: '普通模型',
keyCode: 'YOUR_KEYCODE',
question: '识别图中文本'
})
})
.then(r => r.json())
.then(data => {
if (data.err) console.error('Error:', data.err)
else console.log('Result:', data.msg)
})
# 读取并编码图片
B64=$(base64 -i image.png | tr -d '\n')
curl -X POST https://ai.42ka.cn/api/qrcode/predict \
-H "Content-Type: application/json" \
-d "{
\"base64Image\": \"$B64\",
\"modelName\": \"普通模型\",
\"keyCode\": \"YOUR_KEYCODE\",
\"question\": \"识别图中文本\"
}"
# 查询余额
curl "https://ai.42ka.cn/api/qrcode/balance?keyCode=YOUR_KEYCODE"
<?php
$img = file_get_contents('image.png');
$b64 = base64_encode($img);
$data = json_encode([
'base64Image' => $b64,
'modelName' => '普通模型',
'keyCode' => 'YOUR_KEYCODE',
'question' => '识别图中文本',
]);
$ch = curl_init('https://ai.42ka.cn/api/qrcode/predict');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => $data,
CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
]);
$result = json_decode(curl_exec($ch), true);
curl_close($ch);
echo $result['err'] ? 'Error: '.$result['err'] : 'Result: '.$result['msg'];