1.接口说明

图片变清晰 / 图片增强 API:对输入图片进行清晰化增强处理,提升细节与锐度,返回增强后的图片 Base64。

1.1主要功能

清晰化增强:
提升图片纹理细节与锐度,让画面更清晰。
多输入方式:
支持 Base64 或图片 URL 输入(必须填写其中之一)。
输出自适应格式:
四通道输入返回 PNG(含 alpha),否则返回 JPG;通道数与输入保持一致。

1.2接入场景

适用于模糊图片清晰化、电商主图优化、老照片增强、内容素材修复与二次编辑等场景。

2.请求信息

2.1请求地址(URL)

POST https://api.shiliuai.com/api/image_enhance/v1

2.2请求方式

POST

2.3请求头(header)

参数 类型 说明
Content-Type string application/json
APIKEY string 您的 API KEY

2.4请求体(body)

参数 是否必填 类型 说明
image_base64 必须填写其中之一 string base64编码的图片文件,图片可以是单通道,三通道或四通道, 图片文件要小于20M,图片的长边必须小于4096像素
image_url string 图片的url,图片可以是单通道,三通道或四通道, 图片文件要小于20M,图片的长边必须小于4096像素

3.返回信息

3.1返回类型

JSON

3.2返回信息

参数 说明
code 错误码
msg 错误信息(英文)
msg_cn 错误信息(中文)
result_base64 清晰图片的base64编码,(当code==0时会有该返回值), 如果输入图片是四通道,那么返回四通道png格式图片,否则返回jpg格式图片, 返回图片通道数和输入图片相同

3.3返回示例

{
  "code": 0,
  "msg": "OK",
  "msg_cn": "成功",
  "result_base64": "/9j/4AAQSkZJRgABAQAAAQABAAD..."
}

3.4错误码

错误码 说明
0成功
1图片错误
2处理错误
3服务器繁忙
4参数错误(具体错误看 msg 或 msg_cn)
5未知错误
101API-KEY 不正确
102未知用户
103积分已用完
104扣除积分失败

4.示例代码

4.1 Python

# -*- coding: utf-8 -*-
import requests
import base64
import cv2
import json
import numpy as np

api_key = '******'  # 你的API KEY
file_path = '...'  # 图片路径

with open(file_path, 'rb') as fp:
    photo_base64 = base64.b64encode(fp.read()).decode('utf8')

url = 'https://api.shiliuai.com/api/image_enhance/v1'
headers = {'APIKEY': api_key, "Content-Type": "application/json"}
data = {
    "image_base64": photo_base64
}

response = requests.post(url=url, headers=headers, json=data)
response = json.loads(response.content)
"""
成功:{'code': 0, 'msg': 'OK', 'msg_cn': '成功', 'result_base64': result_base64}
or
失败:{'code': error_code, 'msg': error_msg, 'msg_cn': 错误信息}
"""
result_base64 = response['result_base64']
file_bytes = base64.b64decode(result_base64)
f = open('result.jpg', 'wb')
f.write(file_bytes)
f.close()

image = np.asarray(bytearray(file_bytes), dtype=np.uint8)
image = cv2.imdecode(image, cv2.IMREAD_UNCHANGED)
cv2.imshow('result', image)
cv2.waitKey(0)

4.2 PHP

<?php
$url = "https://api.shiliuai.com/api/image_enhance/v1";
$method = "POST";
$apikey = "******";
$header = array();
array_push($header, "APIKEY:" . $apikey);
array_push($header, "Content-Type:application/json");

$file_path = "...";
$handle = fopen($file_path, "r");
$photo = fread($handle, filesize($file_path));
fclose($handle);
$photo_base64 = base64_encode($photo);

$data = array(
  "image_base64"=> $photo_base64
);
$post_data = json_encode($data);

$curl = curl_init();
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);

$response = curl_exec($curl);
var_dump($response);

4.3 C#

using System;
using System.IO;
using System.Net.Http;
using System.Text;
using System.Text.Json;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        string apiKey = "******"; // 你的API KEY
        string filePath = "...";  // 图片路径
        string url = "https://api.shiliuai.com/api/image_enhance/v1";

        // 将图片编码为Base64
        string photoBase64;
        using (var imageStream = File.OpenRead(filePath))
        {
            byte[] imageBytes = new byte[imageStream.Length];
            await imageStream.ReadAsync(imageBytes, 0, (int)imageStream.Length);
            photoBase64 = Convert.ToBase64String(imageBytes);
        }

        // 构造请求数据
        var requestData = new
        {
            image_base64 = photoBase64
        };
        string jsonData = JsonSerializer.Serialize(requestData);

        using (HttpClient client = new HttpClient())
        {
            client.DefaultRequestHeaders.Add("APIKEY", apiKey);
            client.DefaultRequestHeaders.Add("Content-Type", "application/json");

            try
            {
                // 发送POST请求
                var response = await client.PostAsync(url, new StringContent(jsonData, Encoding.UTF8, "application/json"));
                string responseString = await response.Content.ReadAsStringAsync();

                // 解析响应
                var responseObject = JsonSerializer.Deserialize<JsonElement>(responseString);

                int code = responseObject.GetProperty("code").GetInt32();
                if (code == 0)
                {
                    string resultBase64 = responseObject.GetProperty("result_base64").GetString();
                    
                    // 将Base64转换为图片并保存
                    byte[] fileBytes = Convert.FromBase64String(resultBase64);
                    File.WriteAllBytes("result.jpg", fileBytes);
                    Console.WriteLine("Image processing succeeded, saved as result.jpg");
                }
                else
                {
                    string errorMsg = responseObject.GetProperty("msg_cn").GetString();
                    Console.WriteLine($"Error: {errorMsg}");
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine($"Exception: {ex.Message}");
            }
        }
    }
}