返回首页

AI 替代文本生成器 API 文档 - 自动为图片生成替代文本

概述

AI 替代文本生成器 API 是一项功能强大的服务,旨在自动为图片生成描述性的替代文本。通过利用先进的 AI 技术,该 API 能够分析您的图片并创建有意义、与上下文相关的 alt 文本,这对于网站可访问性(Accessibility)和 SEO 至关重要。使用像这样的图片 alt 文本生成器,可以帮助确保您的视觉内容能被搜索引擎理解。它还能为您节省数小时的人工编写时间,显著提升生产力。

应用场景

AI 替代文本生成器 API 非常适用于各种需要为图片生成替代文本的关键应用场景:

API 密钥

要访问 AI 替代文本生成器 API,您必须首先获取一个有效的 API 密钥。该密钥用于验证您的请求身份,确保对 API 的安全访问。

获取 API 密钥

  1. 访问 API 密钥管理页面: 登录系统后,点击右上角的用户头像。在下拉菜单中,点击“申请 API”以打开 API 密钥管理页面。
AI 替代文本生成器的 API
  1. 创建新密钥: 点击“创建新密钥”,在弹出的对话框中为您的密钥输入一个名称,然后点击“创建”。
AI 替代文本生成器的 API 密钥
  1. 复制并妥善保管您的密钥: 请注意,密钥只会完整显示一次。 点击复制图标将密钥复制到剪贴板,然后点击“确认”关闭对话框。

重要提示: 请勿与他人分享密钥,或将其暴露在浏览器、客户端代码或任何其他不安全的位置。请妥善保管您的密钥以防未经授权的访问。

API 端点

POST https://api.imagedescriber.app/api/v1/generate_alt_text

请求参数

请求头 (Request Headers)

Header类型是否必须描述
content-typestring`application/json`
authorizationstring`Bearer ${api_key}`,其中 `${api_key}` 是您的 API 密钥。

请求体 (Request Body)

AI 替代文本生成器 API 接受以下请求结构:

{
  "image": "data:image/jpeg;base64,{image_base64_data}",
  "lang": "zh"
}
参数类型是否必须描述
imagestring

图片的 Base64 编码数据。支持的图片格式请参见图片格式详情

langstring返回的替代文本的语言代码。默认为 `en` (英语)。支持的语言代码列表见下文。

支持的语言

代码语言
en英语 (默认)
de德语
zh简体中文
fr法语
es西班牙语
ja日语
ko韩语
it意大利语
pt葡萄牙语
ar阿拉伯语
nl荷兰语
pl波兰语

请求示例 (cURL)

curl --location 'https://api.imagedescriber.app/api/v1/generate_alt_text' \
--header 'content-type: application/json' \
--header 'authorization: Bearer your_api_key' \
--data '{
    "image":"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQE...",
    "lang":"zh"
}'

请求示例 (Python)

import requests
import base64

def image_to_base64(image_path):
    """将图片转换为 Base64 编码"""
    with open(image_path, "rb") as image_file:
        encoded_string = base64.b64encode(image_file.read()).decode("utf-8")
    return encoded_string

def generate_alt_text(api_key, image_path, lang="zh"):
    """使用 AI 替代文本生成器 API 为图片生成替代文本"""
    url = "https://api.imagedescriber.app/api/v1/generate_alt_text"
    headers = {
        "content-type": "application/json",
        "authorization": f"Bearer {api_key}"
    }

    image_base64_data = image_to_base64(image_path)
    payload = {
        "image": f"data:image/jpeg;base64,{image_base64_data}",
        "lang": lang
    }

    response = requests.post(url, headers=headers, json=payload)

    if response.status_code == 200:
        result = response.json()
        alt_text_data = result["data"]["alt_text"]
        print("生成的描述:", alt_text_data["description"])
        print("生成的替代文本:", alt_text_data["alt"])
        print("剩余积分:", result["data"]["credits"]["remaining"])
    else:
        print(f"错误: {response.status_code}")
        print(response.text)

# 使用示例
api_key = "your_api_key"
image_path = "your_image.jpg"

generate_alt_text(api_key, image_path)

请求示例 (Next.js)

import fs from 'fs';

// 服务端实现
const buffer = await fs.readFileSync("/temp/test.jpg");
const base64Image = buffer.toString('base64');
const imageData = `data:image/jpeg;base64,${base64Image}`;

// 客户端实现
const file: File = /* 来自 input 或拖放事件的文件 */;
const arrayBuffer = await file.arrayBuffer();
const bytes = new Uint8Array(arrayBuffer);
const base64Image = btoa(String.fromCharCode.apply(null, bytes as any));
const imageData = `data:${file.type};base64,${base64Image}`;

const body = {
  "image": imageData,
  "lang": "zh"
};

const response = await fetch('https://api.imagedescriber.app/api/v1/generate_alt_text', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer {your_api_key}'
  },
  body: JSON.stringify(body),
});

const result = await response.json();
console.log('生成的描述:', result.data.alt_text.description);
console.log('生成的替代文本:', result.data.alt_text.alt);

响应

响应体 (JSON Response)

图片 alt 文本生成器 返回的响应中包含详细的描述和一个替代文本选项数组。

{
  "code": 0,
  "message": "success",
  "request_id": "unique_request_id_string",
  "data": {
    "alt_text": {
      "description": "详细的图片描述",
      "alt": [
        "alt1",
        "alt2",
        "..."
      ]
    },
    "credits": {
      "amount": "本次调用消耗的积分",
      "remaining": "本次调用后剩余的总积分"
    }
  }
}
字段类型描述
codenumber状态码,`0` 表示成功,非 `0` 表示错误。
messagestring状态消息,描述请求的状态。
request_idstring唯一的请求 ID,用于追踪和问题排查。
dataobject包含响应数据。
data.alt_textobject包含生成的描述和替代文本。
data.alt_text.descriptionstring对图片内容的详细描述。
data.alt_text.altarray为图片生成的替代文本字符串数组。
data.creditsobject关于积分消耗和剩余余额的信息。
data.credits.amountnumber本次 API 调用消耗的积分数量。
data.credits.remainingnumber本次调用后您账户中剩余的总积分。

请求限制

为保证服务的稳定和公平,每个 API 密钥的请求频率限制为每分钟 30 次(每小时 1800 次)。超过此限制的请求将被拒绝,并返回错误码 1004

积分系统

如何获取更多积分?

您可以访问积分充值页面购买积分包,以支持更多的 API 调用。我们提供多种套餐以满足不同用户的需求。

错误处理

下表列出了常见的错误码、其含义及解决方案:

错误码描述解决方案
1002未授权请检查您的 `authorization` 请求头是否设置正确。
1003无效的 API 密钥请检查您的 API 密钥是否正确,或获取一个新的密钥。
1004请求过于频繁请降低您的请求频率,最大为每分钟 30 次。
1005无效的参数请检查您的请求参数是否符合规范。
2002积分不足
2003内容被安全过滤器拦截请修改您的图片,确保内容符合规定。
2004无效的图片格式

请使用支持的图片格式,参考图片格式详情

2005图片上传失败请检查您的图片数据是否有效,或稍后重试。
2006无法将 AI 响应解析为预期的 JSON 格式。
5050内部服务器错误请联系我们的技术支持团队,并提供 `request_id`。

图片格式详情

目前支持的图片格式包括:JPGJPEGPNGWebP。最大图片大小为 4MB。

生成替代文本的最佳实践

  • 高分辨率: 使用清晰、高分辨率的图片,能让图片 alt 文本生成器产出更准确的结果。
  • 良好光线: 光线充足的图片能生成更准确、更具描述性的替代文本。
  • 主题明确: 主体和对象清晰的图片能生成更具相关性的替代文本。
  • 使用支持的格式: 为获得最佳效果,请坚持使用支持的格式(JPG, PNG, WebP)。

用例与集成示例

SEO 增强

使用 AI 替代文本生成器 API 自动为您的网站图片生成替代文本

// 使用 AI 生成的替代文本增强图片 SEO
const enhanceImageSEO = async (imageElement, apiKey) => {
  const canvas = document.createElement('canvas');
  const ctx = canvas.getContext('2d');
  canvas.width = imageElement.width;
  canvas.height = imageElement.height;
  ctx.drawImage(imageElement, 0, 0);

  const base64Image = canvas.toDataURL('image/jpeg');

  const response = await fetch('/api/v1/generate_alt_text', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'Authorization': `Bearer ${apiKey}`
    },
    body: JSON.stringify({ image: base64Image })
  });

  const result = await response.json();
  const { alt } = result.data.alt_text;

  // 更新图片的 alt 属性以优化 SEO 和可访问性
  if (alt && alt.length > 0) {
    imageElement.alt = alt[0];
  }
};

内容管理集成

图片 alt 文本生成器集成到您的 CMS 工作流中:

# 在内容管理系统中批量处理图片
import os
import requests
from pathlib import Path

def bulk_generate_alt_text(directory_path, api_key):
    """处理目录中的所有图片以生成替代文本"""
    image_extensions = ['.jpg', '.jpeg', '.png', '.webp']

    for image_path in Path(directory_path).iterdir():
        if image_path.suffix.lower() in image_extensions:
            try:
                # 为每张图片生成替代文本
                result = generate_alt_text(api_key, str(image_path))

                # 将元数据保存到附属文件中
                metadata_path = image_path.with_suffix('.json')
                with open(metadata_path, 'w') as f:
                    json.dump(result['data']['alt_text'], f, indent=2)

                print(f"已处理: {image_path.name}")

            except Exception as e:
                print(f"处理 {image_path.name} 时出错: {e}")

# 用法
bulk_generate_alt_text("/path/to/images", "your_api_key")

联系我们

如果您对我们的 AI 替代文本生成器 API 有任何疑问或建议,请随时通过以下方式与我们联系:

立即开始使用 AI 替代文本生成器 API,释放自动化图片可访问性与 SEO 的强大力量!