知识库 开发者
图像,音频和嵌入式
来自应用程序的生成器和搜索的构件:图像,视频,语音,转录和嵌入,每一个都从您的余额中收取每次使用。
为了方便起见,此页面是机器翻译的。英文原件为适用版本。
创建图像
从提示中创建一到四张图像,并在完成后返回它们。 ?image 在 app 中
POST https://nymbot.ai/api/v1/images/generations 需要一个 API 密钥,或 按要求支付闪电.
IDS 来自 GET /api/v1/models?type=image标准发电机,
@cf/black-forest-labs/flux-1-schnell每個其他發電機花費 Pro 信用在自己的價格,與通常的收費和利潤,如在 《APP》. n 图片成本
n 一个发电机不采取的字段被丢失而不是被拒绝;标准发电机只使用提示。
| 场地 | 类型 | 需要 | 描述 |
|---|---|---|---|
model | 线条 | 是的 | 发电机ID,如 nano-banana. |
prompt | 线条 | 是的 | 画什么? 只使用前2000个字符。 |
n | 整體 | 没有 | 1 至 4. 默认 1. 也被接受为 num_images. |
size | 线条 | 没有 | 一个方面比,如 "16:9",或一个OpenAI大小,如 "1792x1024",其中最接近的为 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9, 5:4 和 4:5. "auto" 把它放在发电机上。 |
aspect_ratio | 线条 | 没有 | 同样的如 size,并赢,如果两者都被发送。 |
quality | 线条 | 没有 | 发电机特性,如 "low", "medium" 或 "high". |
negative_prompt | 线条 | 没有 | 什么要留下 |
output_format | 线条 | 没有 | "png", "jpeg" 或 "webp". |
response_format | 线条 | 没有 | "url" (故障)或 "b64_json". |
image_url | 线条 | 没有 | 一个图像从:一个 https:// 最多 4096 个字符的链接,其中没有用户名或密码,或 data:image/…;base64 URL(PNG、JPEG、WebP 或 GIF;不是 SVG)。 edit所要求的人, requires_image_url. |
resolution 没有使用:每个发电机都有自己的尺寸。 url,每个图像都上传到一个公共的Blossom主机,你会得到它的链接(一些发电机只会返回自己的链接,该链接被传递)。 火焰可以看到什么与
b64_json 图片在响应中返回,并且从未上传。 data: URL 在 image_url 以同样的方式检查一个
编辑 并首先上传到Blossom,以便发电机可以接收它;如果请求未被发票,则再次删除。
如果一些的 n 图片失败,你得到那些工作,只收取那些(加上任何供应商收费尽管失败),和 nymbot.failed 表示有多少人失败.如果所有人失败,请求返回 502.
回应
{
"created": 1790726400,
"model": "nano-banana",
"cost": 0.2126,
"data": [
{
"url": "https://blossom.example/5c0e4b7d3a91f2e8...c4.png",
"content_type": "image/png"
}
],
"nymbot": { "balance": "pro", "charged_credits": 1.817, "charged_sats": 181.7, "balance_credits": 410.608, "balance_sats": 41060.8 }
}
| 状态 | 何时 |
|---|---|
400 | 不快; n 第1至4集(invalid_value);不良尺寸(invalid_size)或图像(invalid_image, invalid_image_url);存在的模型,但不是图像生成器(invalid_model);一个无法编辑的发电机的图像(edit_unsupported);没有一个需要它的人的照片(image_required). |
402 | 平衡不能涵盖所需的每个图像。 |
404 | 没有这个名字的模式(model_not_found). |
502 | 发电机失效( )upstream_error)除非提供商为尝试而收费,否则错误已发生。 charged_sats. |
503 | 图片目前无法托管( )media_hosting_unavailable). b64_json 仍然工作。 |
cURL
curl https://nymbot.ai/api/v1/images/generations \
-H "Authorization: Bearer $NYMBOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "nano-banana",
"prompt": "A lighthouse at dusk, oil painting",
"size": "16:9"
}'
Python
import os
import requests
res = requests.post(
"https://nymbot.ai/api/v1/images/generations",
headers={"Authorization": "Bearer " + os.environ["NYMBOT_API_KEY"]},
json={"model": "nano-banana", "prompt": "A lighthouse at dusk, oil painting", "size": "16:9"},
)
res.raise_for_status()
print(res.json()["data"][0]["url"])
JavaScript
const res = await fetch("https://nymbot.ai/api/v1/images/generations", {
method: "POST",
headers: {
"Authorization": "Bearer " + process.env.NYMBOT_API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({ model: "nano-banana", prompt: "A lighthouse at dusk, oil painting", size: "16:9" }),
});
const body = await res.json();
console.log(body.data[0].url);
图像编辑
更改您上传的图像,按照提示。这是OpenAI的编辑终端,因此OpenAI SDK images.edit 工作如是. 只有 Pro 发电机 edit 在模型列表中接受它。
POST https://nymbot.ai/api/v1/images/edits 需要一个 API 密钥,或 按要求支付闪电身体是 multipart/form-data最多32MB。
| 场地 | 类型 | 需要 | 描述 |
|---|---|---|---|
image | 档案 | 是的 | 要编辑的图像:PNG、JPEG、WebP或GIF,高达20 MB。 image[]第一种是使用的。 |
prompt | 线条 | 是的 | 什么要改变 |
model | 线条 | 是的 | 发电机与 edit. |
n | 整體 | 没有 | 1 至 4 |
sizeaspect_ratioqualitynegative_promptoutput_format | 线条 | 没有 | 至于一代。 |
response_format | 线条 | 没有 | "b64_json" (默认在这里) 或 "url". |
您上传的图像被验证为有格式的 PNG、JPEG、WebP 或 GIF,作为其真实类型发送,并放置在公共 Blossom 主机上,因为发电机通过链接收集其输入。 将其视为公共。 如果编辑失败并且无需收费,则主机的副本再次删除。 响应的形状与生成相同。 价格是发电机的价格,对于某些发电机则包括输入图像的收费。
回应
{
"created": 1790726460,
"model": "nano-banana",
"cost": 0.2126,
"data": [{ "b64_json": "iVBORw0KGgoAAAANSUhEUgAA..." }],
"nymbot": { "balance": "pro", "charged_credits": 1.817, "charged_sats": 181.7, "balance_credits": 408.791, "balance_sats": 40879.1 }
}
| 状态 | 何时 |
|---|---|
400 | 没有图像或提示,不是图像的文件(invalid_image)或不能编辑的发电机(edit_unsupported). |
413 | 图像大于 20 MB(file_too_large),或整个请求超过32 MB。 |
503 | 图片目前无法托管( )media_hosting_unavailable). |
cURL
curl https://nymbot.ai/api/v1/images/edits \
-H "Authorization: Bearer $NYMBOT_API_KEY" \
-F model=nano-banana \
-F [email protected] \
-F prompt="Make it a snowy evening"
Python
import base64, os
from openai import OpenAI
client = OpenAI(base_url="https://nymbot.ai/api/v1", api_key=os.environ["NYMBOT_API_KEY"])
with open("photo.png", "rb") as f:
result = client.images.edit(model="nano-banana", image=f, prompt="Make it a snowy evening")
with open("edited.png", "wb") as out:
out.write(base64.b64decode(result.data[0].b64_json))
JavaScript
import fs from "node:fs";
import { writeFile } from "node:fs/promises";
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://nymbot.ai/api/v1", apiKey: process.env.NYMBOT_API_KEY });
const result = await client.images.edit({
model: "nano-banana",
image: fs.createReadStream("photo.png"),
prompt: "Make it a snowy evening",
});
await writeFile("edited.png", Buffer.from(result.data[0].b64_json, "base64"));
视频
一个视频需要几分钟,所以它在背景中运行。你提交它,立即获得ID,并询问ID,直到完成。
POST https://nymbot.ai/api/v1/videos 需要一个 API 密钥,或 按要求支付闪电返回 202.
| 场地 | 类型 | 需要 | 描述 |
|---|---|---|---|
model | 线条 | 是的 | 视频生成器ID从 GET /api/v1/models?type=video,如 veo. |
prompt | 线条 | 是的 | 应该发生什么。 |
duration | 数字或 string | 没有 | 长度在秒,超过0和高达60。仅由发电机使用,允许您选择长度;其他人使其通常的长度,这是什么 seconds 答案和价格随之而来。 |
aspect_ratio | 线条 | 没有 | 如如 "16:9" 或 "9:16"一个尺寸,如 "1280x720" 成为最接近的比例。 |
resolutionquality | 线条 | 没有 | 发电机中的一个 resolutions 在模型列表中,如 "720p" 或 "1080p"它设定了价格,其他一切都被拒绝了。 unsupported_resolution. |
image_url | 线条 | 没有 | 一个图像从:一个 https:// 链接或A data:image/… URL,首先上传到公共 Blossom 主机。 requires_image_url. |
价格在你提交时是固定的,从发电机,分辨率和长度,所以它被收取从你的专业余额,一旦提供商接受了工作,并显示为
cost, estimated_cost 和 nymbot. 如果提供商拒绝工作,则不收取任何费用。如果后续的渲染失败,或者完成的剪辑无法存储,而提供商没有发票,则收费会自动退还一次。在一个小时后仍在进行的渲染将被放弃,并保留其收费,因为提供商一旦接受它,就会收取渲染。
答案(202)
{
"id": "vid_3e9a51c07b2f4d86e0a1c4f2",
"object": "video",
"model": "veo",
"status": "in_progress",
"created": 1790726400,
"seconds": 8,
"resolution": "1080p",
"estimated_cost": 3.18,
"expires_at": 1790812800,
"cost": 3.18,
"nymbot": { "balance": "pro", "charged_credits": 31.8, "charged_sats": 3180, "balance_credits": 378.808, "balance_sats": 37880.8 }
}
status 开始为 in_progress,或 completed 视频已经在 data 当发电机立即返回时。
检查一个视频
GET https://nymbot.ai/api/v1/videos/{id} 需要一个属于提交它的 nym 的密钥. 一个已经达到其上限的密钥仍然可以检查。
它回答 202 视频正在制作中,并 200 一旦完成或失败,每隔5到10秒就问一次,每次检查就问一次,同时回答一次;它从不等待视频,工作在提交后保持24小时。
GET /api/v1/videos 列出关键的最后50个工作岗位为
{"object": "list", "data": […]}.
答案(200)
{
"id": "vid_3e9a51c07b2f4d86e0a1c4f2",
"object": "video",
"model": "veo",
"status": "completed",
"created": 1790726400,
"seconds": 8,
"resolution": "1080p",
"estimated_cost": 3.18,
"expires_at": 1790812800,
"completed_at": 1790726590,
"data": { "url": "https://blossom.example/9b41d0c2e7a3f658...1e.mp4", "content_type": "video/mp4" },
"cost": 3.18,
"nymbot": { "balance": "pro", "charged_credits": 31.8, "charged_sats": 3180 }
}
status 是 in_progress, completed 或 failed一个失败的工作带领 error ({"code": "generation_failed", "message": …}假如它被退还, cost 0 和 nymbot 添加
refunded_credits 和 refunded_sats完成的视频是在公共的 Blossom 主机上,如生成的图像。
| 状态 | 何时 |
|---|---|
400 | 无速率;持续时间 0 到 60 (invalid_value);发电机不提供的分辨率(unsupported_resolution);没有图像的发电机需要一个(image_required);一个不是视频生成器的模型(invalid_model). |
402 | Pro 平衡不能覆盖视频。 |
404 | 没有这样的发电机(model_not_found,或没有工作由这个ID为你的nym,或者它超过24小时(video_not_found). |
429 | 你的Nimm已经有10视频渲染(video_jobs_limit) 检查它们,并提交更多一次完成。 |
502 | 发电机拒绝了工作,除非供应商为此付费,否则不收取任何费用。 |
503 | 视频目前无法交付或存储(media_hosting_unavailable, service_unavailable). |
cURL
curl https://nymbot.ai/api/v1/videos \
-H "Authorization: Bearer $NYMBOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "veo", "prompt": "Waves rolling onto a beach at sunrise", "duration": 8, "aspect_ratio": "16:9"}'
curl https://nymbot.ai/api/v1/videos/vid_3e9a51c07b2f4d86 \
-H "Authorization: Bearer $NYMBOT_API_KEY"
Python
import os, time
import requests
headers = {"Authorization": "Bearer " + os.environ["NYMBOT_API_KEY"]}
job = requests.post(
"https://nymbot.ai/api/v1/videos",
headers=headers,
json={"model": "veo", "prompt": "Waves rolling onto a beach at sunrise", "duration": 8, "aspect_ratio": "16:9"},
).json()
while True:
time.sleep(8)
status = requests.get("https://nymbot.ai/api/v1/videos/" + job["id"], headers=headers).json()
if status["status"] in ("completed", "failed"):
break
print(status["data"]["url"] if status["status"] == "completed" else status["error"])
JavaScript
const headers = {
"Authorization": "Bearer " + process.env.NYMBOT_API_KEY,
"Content-Type": "application/json",
};
const job = await (await fetch("https://nymbot.ai/api/v1/videos", {
method: "POST",
headers,
body: JSON.stringify({ model: "veo", prompt: "Waves rolling onto a beach at sunrise", duration: 8, aspect_ratio: "16:9" }),
})).json();
let status;
do {
await new Promise((r) => setTimeout(r, 8000));
status = await (await fetch("https://nymbot.ai/api/v1/videos/" + job.id, { headers })).json();
} while (status.status !== "completed" && status.status !== "failed");
console.log(status.status === "completed" ? status.data.url : status.error);
文本 演讲
可大声阅读文本并返回音频文件本身,而不是链接。 audio.speech.create 在OpenAI SDK中工作。
POST https://nymbot.ai/api/v1/audio/speech 需要一个 API 密钥,或 按要求支付闪电.
| 场地 | 类型 | 需要 | 描述 |
|---|---|---|---|
model | 线条 | 没有 | 演讲模型从 音频模型列表默认:标准语音, @cf/myshell-ai/melotts. aura-2 Deepgram Aura 2 是的。 |
input | 线条 | 是的 | 要阅读的文本:标准语音最多800个字符,Aura 2的2000个字符。 |
voice | 线条 | 没有 | 一个语音ID从 声音列表:一个Aura扬声器,如 luna (或 aura-2-luna-en,或者是MeloTTS语言(en, es, fr, zh) OpenAI 语音名称如 alloy 被接受并给出模型的默认声音。 |
language | 线条 | 没有 | 语言代码如 es没有声音,它会为该语言选择一个声音. 说另一种语言的声音会返回 422 voice_language_mismatch,和一个模特没有声音的语言 422 unsupported_language. |
response_format | 线条 | 没有 | 标准语音返回 mp3 Aura 2 回归 mp3 (缺陷) opus, aac, flac, wav 或 pcm. |
speed | 号码 | 没有 | 被接受和忽略。 |
标准语音费用为一个平坦的3标准学分(30 sats)一个请求,就像在应用程序中一样。Aura 2是Pro,按您发送的字符定价。
Content-Type;成本在于 X-Nymbot-Cost-Sats 如果语音模型失败,则不收取任何费用。
回应
HTTP/1.1 200 OK
Content-Type: audio/mpeg
X-Nymbot-Cost-Sats: 4.2
X-Nymbot-Balance-Sats: 41055.6
(audio bytes)
| 状态 | 何时 |
|---|---|
400 | 没有输入;输入超过模型的限量(input_too_long);模型不能生成的格式(unsupported_response_format未知的声音( )invalid_voice);不是言论模式的模型(invalid_model). |
422 | 声音不会说给定的语言,或者模特没有声音。 |
502 | 发言模式失败了,没有被收费。 |
cURL
curl https://nymbot.ai/api/v1/audio/speech \
-H "Authorization: Bearer $NYMBOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "aura-2", "voice": "luna", "input": "Your invoice has been paid."}' \
--output speech.mp3
Python
import os
from openai import OpenAI
client = OpenAI(base_url="https://nymbot.ai/api/v1", api_key=os.environ["NYMBOT_API_KEY"])
audio = client.audio.speech.create(
model="aura-2",
voice="luna",
input="Your invoice has been paid.",
)
audio.write_to_file("speech.mp3")
JavaScript
import { writeFile } from "node:fs/promises";
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://nymbot.ai/api/v1", apiKey: process.env.NYMBOT_API_KEY });
const audio = await client.audio.speech.create({
model: "aura-2",
voice: "luna",
input: "Your invoice has been paid.",
});
await writeFile("speech.mp3", Buffer.from(await audio.arrayBuffer()));
音频模型和声音
两个公开的名单选择一个语音模型和声音,或一个转录模型. 有 41 个 Aura 2 英语和四个 MeloTTS 语言。
GET https://nymbot.ai/api/v1/audio/models 不需要钥匙。
GET https://nymbot.ai/api/v1/audio/voices?language=en 不需要钥匙。
| 场地 | 类型 | 需要 | 描述 |
|---|---|---|---|
language | 查询(Query) | 没有 | 只有这个语言的声音。 |
model | 查询(Query) | 没有 | 只有这个模型的声音。 |
响应(声音)
{
"object": "list",
"data": [
{ "id": "luna", "name": "Luna", "provider": "deepgram", "model_id": "aura-2", "models": ["aura-2"], "language": "en", "description": "Aura 2 English voice", "gender": "female", "preview_url": null },
{ "id": "en", "name": "MeloTTS English", "provider": "myshell", "model_id": "@cf/myshell-ai/melotts", "models": ["@cf/myshell-ai/melotts", "melotts"], "language": "en", "description": "English (MeloTTS)", "gender": null, "preview_url": null }
]
}
模型列表答案 {"object": "list", "data": {"tts": […], "stt": […]}}每个语音模型都给出了它的平衡,价格, max_input_chars,
response_formats, languages 和 default_voice;转录模型给出了它的代名词, max_file_bytes, max_seconds,格式和每分钟的价格。
cURL
curl https://nymbot.ai/api/v1/audio/models
curl "https://nymbot.ai/api/v1/audio/voices?language=en"
Python
import requests
print(requests.get("https://nymbot.ai/api/v1/audio/models").json())
for voice in requests.get("https://nymbot.ai/api/v1/audio/voices", params={"language": "en"}).json()["data"]:
print(voice["id"], voice["model_id"])
JavaScript
console.log(await (await fetch("https://nymbot.ai/api/v1/audio/models")).json());
const voices = await (await fetch("https://nymbot.ai/api/v1/audio/voices?language=en")).json();
for (const v of voices.data) console.log(v.id, v.model_id);
话语到文本
使用 Whisper 将记录转换为文本,这是 OpenAI 的转录终端,所以
audio.transcriptions.create 工作。
POST https://nymbot.ai/api/v1/audio/transcriptions 需要一个 API 密钥,或 按要求支付闪电身体是 multipart/form-data.
| 场地 | 类型 | 需要 | 描述 |
|---|---|---|---|
file | 档案 | 是的 | 录制,从256字节到25MB和高达30分钟:WAV,WebM,MP4或M4A,Ogg或Opus,MP3和其他格式微笑读。 |
model | 线条 | 没有 | 缺陷 whisper,这就是Whisper Large v3 Turbo。 whisper-1, whisper-large-v3-turbo 和 @cf/openai/whisper-large-v3-turbo 意思是一样的。 |
language | 线条 | 没有 | 使用的语言,如 en被发现,如果离开。 |
prompt | 线条 | 没有 | 可以预期的单词或拼写,例如名字,仅使用前1000个字符。 |
response_format | 线条 | 没有 | json (缺陷) text, srt, vtt 或 verbose_json. |
对于 WAV、WebM、MP4 和 Ogg 文件来说,长度在运行之前从文件中读取,所以超过 30 分钟的录音被拒绝(以 3 秒的恩典)。一个 WAV 文件的长度取决于其样本速率、频道和样本大小。其他格式的长度,如 MP3 无法读取,所以它们受到尺寸的限制:在最低的比特率下,Nymbot 假定,8 kbps,30 分钟是 1.8 MB,并且在这种格式中更大的文件被拒绝。 413
audio_too_long 发送更长的记录,如 WAV、WebM、MP4 或 Ogg. 如果 Whisper 随后报告超过 30 分钟,请求将被拒绝
413 audio_too_long而且,既然“微笑”运行了,30分钟就被加载了。
您支付音频的长度,圆到第二:最长的长度从文件中读取,长度微笑报告,和最小的文件大小允许,在微笑的每分钟价格与通常的费用和利润率,并至少 0.05 信贷请求。 402 在应用程序中,转录语音消息可能是免费的;在API上它总是被加载。
回应
{
"text": "Your invoice has been paid.",
"usage": { "type": "duration", "seconds": 3 },
"nymbot": { "balance": "standard", "charged_credits": 0.05, "charged_sats": 0.5, "balance_credits": 120.35, "balance_sats": 1203.5 }
}
text 返回清晰的文本 srt 和 vtt 返回字幕,以及
verbose_json 添加了语言、持续时间和时间段;对于不是 JSON 的三个部分,成本在标题中。
| 状态 | 何时 |
|---|---|
400 | 没有文件,没有可用音频的文件(invalid_audio,一个未知的格式,或一个不是转录模型的模型(invalid_model). |
402 | 平衡也不能覆盖它。 |
413 | 檔案超過 25 MB (file_too_large)或超过30分钟的录音,或者在无法读取长度的格式中,超过1.8 MB(audio_too_long). |
502 | Whisper 无法处理音频. 没有收费。 |
cURL
curl https://nymbot.ai/api/v1/audio/transcriptions \
-H "Authorization: Bearer $NYMBOT_API_KEY" \
-F [email protected] \
-F model=whisper \
-F response_format=json
Python
import os
from openai import OpenAI
client = OpenAI(base_url="https://nymbot.ai/api/v1", api_key=os.environ["NYMBOT_API_KEY"])
with open("memo.m4a", "rb") as f:
transcript = client.audio.transcriptions.create(model="whisper", file=f)
print(transcript.text)
JavaScript
import fs from "node:fs";
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://nymbot.ai/api/v1", apiKey: process.env.NYMBOT_API_KEY });
const transcript = await client.audio.transcriptions.create({
model: "whisper",
file: fs.createReadStream("memo.m4a"),
});
console.log(transcript.text);
英语演讲翻译
POST https://nymbot.ai/api/v1/audio/translations 需要一个 API 密钥,或 按要求支付闪电身体是 multipart/form-data.
与转录相同,除了相同的字段 language,限制和价格,但该文本返回英语,无论使用哪种语言。 audio.translations.create.
cURL
curl https://nymbot.ai/api/v1/audio/translations \
-H "Authorization: Bearer $NYMBOT_API_KEY" \
-F [email protected] \
-F model=whisper
Python
import os
from openai import OpenAI
client = OpenAI(base_url="https://nymbot.ai/api/v1", api_key=os.environ["NYMBOT_API_KEY"])
with open("nota.m4a", "rb") as f:
translation = client.audio.translations.create(model="whisper", file=f)
print(translation.text)
JavaScript
import fs from "node:fs";
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://nymbot.ai/api/v1", apiKey: process.env.NYMBOT_API_KEY });
const translation = await client.audio.translations.create({
model: "whisper",
file: fs.createReadStream("nota.m4a"),
});
console.log(translation.text);
嵌入式
将文本转换为搜索、聚合和重复的矢量,模型在 Cloudflare 上运行,并使用标准余额。
POST https://nymbot.ai/api/v1/embeddings 需要一个 API 密钥,或 按要求支付闪电.
| 场地 | 类型 | 需要 | 描述 |
|---|---|---|---|
model | 线条 | 是的 | 一个嵌入式模型从 GET /api/v1/models?type=embedding. |
input | string 或 array 的字符串 | 是的 | (token_input_unsupported)每个输入必须匹配模型的 context_length,计算为大约四个字节一个代币。 |
encoding_format | 线条 | 没有 | float (故障)或 base64 (小型32位浮动机) |
dimensions | 整體 | 没有 | 模型本身的大小,或与模型 supported_dimensions 其中一个;然后,矢量被缩短和正常化,其他任何东西都被拒绝。 |
| 模特 | 尺寸 | 背景 |
|---|---|---|
@cf/baai/bge-m3 | 1024 多种语言 | 8192 代币 |
@cf/qwen/qwen3-embedding-0.6b | 1024 多种语言 | 8192 代币 |
@cf/baai/bge-large-en-v1.5 | 第1024章 英文 | 512 个标签 |
@cf/baai/bge-base-en-v1.5 | 第768章 英文 | 512 个标签 |
@cf/baai/bge-small-en-v1.5 | 第384章 英文 | 512 个标签 |
模型列表是提供的真相来源,以及它们的成本;谷歌的InbeddingGemma,根据请求提供更短的矢量,在目录有价格时也会出现在那里。
回应
{
"object": "list",
"data": [
{ "object": "embedding", "index": 0, "embedding": [0.0213, -0.0487, 0.0112] }
],
"model": "@cf/baai/bge-m3",
"usage": { "prompt_tokens": 9, "total_tokens": 9 },
"nymbot": { "balance": "standard", "charged_credits": 0.05, "charged_sats": 0.5, "balance_credits": 1204.35, "balance_sats": 12043.5 }
}
| 状态 | 何时 |
|---|---|
400 | 没有输入或空的一个;代码阵列(token_input_unsupported);超过100个输入(too_many_inputs);输入比模型需要的更长时间(input_too_long);一个模型不能给出的尺寸(unsupported_dimensions). |
402 | 标准平衡太低. 嵌入式从不使用 Pro 平衡。 |
404 | 没有这个名字的模型。 |
502 | 模型失败了,没有收费。 |
cURL
curl https://nymbot.ai/api/v1/embeddings \
-H "Authorization: Bearer $NYMBOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "@cf/baai/bge-m3", "input": ["Lightning invoices expire.", "Invoices on Lightning have a time limit."]}'
Python
import os
from openai import OpenAI
client = OpenAI(base_url="https://nymbot.ai/api/v1", api_key=os.environ["NYMBOT_API_KEY"])
result = client.embeddings.create(
model="@cf/baai/bge-m3",
input=["Lightning invoices expire.", "Invoices on Lightning have a time limit."],
)
print(len(result.data), len(result.data[0].embedding))
JavaScript
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://nymbot.ai/api/v1", apiKey: process.env.NYMBOT_API_KEY });
const result = await client.embeddings.create({
model: "@cf/baai/bge-m3",
input: ["Lightning invoices expire.", "Invoices on Lightning have a time limit."],
});
console.log(result.data.length, result.data[0].embedding.length);