无障碍(或简称"a11y")正迅速成为网站开发和电子商务的重要组成部分。过去,像 alt 文本或色盲友好的配色方案等无障碍辅助功能并不被开发人员和公司视为高优先级。但现在,随着欧洲和美国的无障碍法规出台,让你的网站具备无障碍功能比以往任何时候都更加重要。
但如何为网站上的每张图片创建 alt 文本呢?手动浏览每张图片并编写 alt 文本可能需要很长时间,特别是如果你有成千上万张图片。而且如果每天都在添加新的图片,这将成为一场永无止境的战斗。
这就是 SceneXplain 的用武之地。它是你的无障碍助手!你只需上传一张图片,就能获得它的 alt 文本,无需自己绞尽脑汁思考措辞。
如果你只有几十张图片,这是个不错的方法让你的大脑休息一下。但你仍然需要自己完成所有点击和拖拽操作。你的大脑赢了,但你的手指没有。如果你有几千张图片呢?现在就预约医生检查腕管综合症吧。
如果能有一种方法可以自动完成整个过程就好了。这样你的大脑和手指就都能专注于更有趣的事情。
这就是 SceneXplain 的 API 发挥作用的地方。你可以编写一个脚本,遍历数千张图片,批量发送到 SceneXplain,并生成包含结果的 CSV 文件(或者通过更多编码,直接集成到你的工作流程中。)
毕竟,你知道他们怎么说。没有 API,就没有快乐。
tag什么是 API?
在我们深入了解"如何做"之前,让我们先看看"是什么"。牛津英语词典对 API 的定义是:

然而,大家最喜欢的 AI,GPT-4 对 API 的定义是:

或者,如果你更喜欢视频解释:
简而言之,你可以编写一个 Python(或任何其他语言)程序通过其 API 与 SceneXplain 对话,并自动化整个 alt 标记过程。我们有一个可以实现这一点的 Python 代码片段。
以下是使用方法:
- 安装 requests 库:
pip install requests
- 前往 SceneXplain 的 API 页面生成密钥并复制到剪贴板。
- 将其粘贴到下面的 Python 代码中。
- 将图片 URL 复制到代码中标有
....
的位置。 - 运行代码!
import requests
import json
# generate token on SceneXplain's API page
YOUR_GENERATED_SECRET = "your_generated_secret_here"
data = {
"data": [
{
"task_id": "alt_text",
"languages": [
"en"
],
"image": "..." # change to image URL
}
]
}
headers = {
"x-api-key": f"token {YOUR_GENERATED_SECRET}",
"content-type": "application/json",
}
response = requests.post("https://api.scenex.jina.ai/v1/describe", headers=headers, json=data)
print(response.json())
(我们稍后会提供更多 cURL 和 JavaScript 的代码片段)
tag实际应用 API:在笔记本中使用 SceneXplain
由于我们想要看到实际效果,我们将在笔记本中实时使用代码。这让你可以用真实数据实时查看发生的情况,并让你自己检查和使用 Python 代码。

这个笔记本不仅仅包含上面的简单 Python 代码片段。它还会下载示例数据集并将结果导出为 CSV 文件。
tag超越笔记本:在现实中使用 API
当然,使用 SceneXplain 的 API 时,你并不局限于 Python。任何具有 HTTP 库的语言都应该可以正常工作。
这是上面那段代码的 JavaScript 版本:
const body = {
"data": [
{
"task_id": "alt_text",
"languages": [
"en"
],
"image": "..."
}
]
};
const YOUR_GENERATED_SECRET = 'your_generated_secret_here';
fetch('https://api.scenex.jina.ai/v1/describe', {
headers: {
'x-api-key': `token ${YOUR_GENERATED_SECRET}`,
'content-type': 'application/json'
},
body: JSON.stringify(body),
method: 'POST'
}).then(async (resp) => {
if (resp.ok) {
const data = await resp.json();
console.log(data);
}
});
以下是 cURL 命令版本:
curl "https://api.scenex.jina.ai/v1/describe" \
-H "x-api-key: token $YOUR_GENERATED_SECRET" \
-H "content-type: application/json" \
--data '{
"data": [
{
"task_id": "alt_text",
"languages": [
"en"
],
"image": "..."
}
]
}'
tag使用 SceneXplain 的 API 提升你的图像可访问性
首先,请访问 SceneXplain 的 API 页面了解它的工作原理,生成密钥,然后可以修改我们的 notebook 或创建你自己的代码,立即开始提升可访问性!
