Ipilẹ imo onibara
Awọn iroyin, Audio ati Embeddings
Awọn gbigba lati awọn app, ati awọn ile-iṣẹ fun iwadi: awọn aworan, awọn fidio, awọn fọto, awọn transcription ati awọn igbẹkẹle, kọọkan gbọdọ fun lilo nipasẹ ibalopo rẹ.
Oju-iwe yii jẹ itumọ ẹrọ fun irọrun. Atilẹba Gẹẹsi jẹ ẹya ti o kan.
Gbogbogbo Images
Ṣatunkọ si ọkan si ọkan si ọkan si ọkan si ọkan si ọkan si ọkan si ọkan si ọkan si ọkan si ọkan. ?image Ninu awọn app.
POST https://nymbot.ai/api/v1/images/generations — o nilo API key, tabi Lightning owo fun awọn ibeere.
Idaabobo lati GET /api/v1/models?type=imageỌpọlọpọ awọn generator,
@cf/black-forest-labs/flux-1-schnell, o ni owo kan oṣuwọn 5 iroyin (50 sats) kan iroyin. Gbogbo awọn miiran generator owo Pro ni owo rẹ, pẹlu awọn iye owo ati marun, bi ni awọn app. n awọn fọto
n Oju-iwe ti a ti ko gba ninu awọn generator ni ti wa ni fẹ lati ṣugbọn ti wa ni rọrun; awọn generator ti wa ni a nlo nikan awọn fọto.
| Orilẹ-ede | Àwọn ẹka | Wọle | Ọrọìwòye |
|---|---|---|---|
model | ọrọìwòye | Bẹẹni | Aṣiṣe id, gẹgẹbi nano-banana. |
prompt | ọrọìwòye | Bẹẹni | Ti o ba tẹsiwaju? nikan awọn akọkọ 2000 akọkọ ti wa ni lo. |
n | Oṣuwọn | miiran | 1 to 4. Default 1. Tun gba bi num_images. |
size | ọrọìwòye | miiran | Aṣiṣe aṣiṣe bi "16:9"Ti o ba tẹsiwaju lilọ kiri aaye ayelujara yii, o n gba awọn eto cookies wa. "1792x1024"Ti o ba tẹsiwaju lilọ kiri aaye ayelujara yii, o n gba awọn aaye ayelujara yii, awọn aaye ayelujara yii, awọn aaye ayelujara yii, awọn aaye ayelujara yii, awọn aaye ayelujara yii, awọn aaye ayelujara yii, ati awọn aaye ayelujara yii. "auto" Ti o ba tẹsiwaju si awọn generator. |
aspect_ratio | ọrọìwòye | miiran | Gbogbo awọn sizeTi o ba tẹsiwaju ki o ba wa ni mejeeji. |
quality | ọrọìwòye | miiran | Generator-specific, gẹgẹ bi "low", "medium" Wọn "high". |
negative_prompt | ọrọìwòye | miiran | Ti o ba tẹsiwaju. |
output_format | ọrọìwòye | miiran | "png", "jpeg" Wọn "webp". |
response_format | ọrọìwòye | miiran | "url" (Ti o ba tẹsiwaju) tabi "b64_json". |
image_url | ọrọìwòye | miiran | Ọrọigbaniwọle lati bẹrẹ lati: a https:// awọn ọna asopọ ti o pọju 4096 akọkọ pẹlu ko si user name tabi password ni o, tabi a data:image/…;base64 URL (PNG, JPEG, WebP tabi GIF; ko SVG). Nikan fun awọn editTi o ba tẹsiwaju lilọ kiri aaye ayelujara yii: requires_image_url. |
resolution ni ko lo: kọọkan generator ṣe iwọn rẹ. Pẹlu url, kọọkan aworan ti wa ni gbigbe si a Blossom aworan ati awọn ti o ba wa awọn ọna asopọ (gbọn kan diẹ ninu awọn generators nikan fi ọna asopọ ti wọn, eyi ti wa ni tẹsiwaju). Kọọkan ti o ni awọn ọna asopọ le fi o ati ki o ko le ti wa ni tẹsiwaju lẹhin; wo Ti o ba tẹsiwaju APImiiran
b64_json awọn fọto ti wa ni tẹsiwaju ninu awọn ifiranṣẹ ati ki o ko ṣẹda. A fọto ti a data: Wọn ni image_url Ti o ba tẹsiwaju bi a
akojọ Ti o ba tẹsiwaju ki o ba ti o ba tẹsiwaju ki o ba tẹsiwaju ki o ba tẹsiwaju ki o tẹsiwaju ki o tẹsiwaju ki o tẹsiwaju ki o tẹsiwaju ki o tẹsiwaju ki o tẹsiwaju ki o tẹsiwaju ki o tẹsiwaju.
Ti o ba tẹsiwaju awọn n awọn fọto faili, o gba awọn ti o ti ṣiṣẹ, ti wa ni gbọdọ nikan fun awọn ti (plus eyikeyi awọn onibara gbọdọ ṣugbọn awọn faili), ati nymbot.failed Ti o ba tẹsiwaju pe o ba tẹsiwaju. If all fail, the request returns. 502.
àwárí
{
"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 }
}
| olubasọrọ | akojọ |
|---|---|
400 | O si rọrun; n Oṣuwọn Oṣuwọn 1 (invalid_valueaaye ayelujara yii (invalid_size) tabi awọn aworan (invalid_image, invalid_image_url); a awoṣe ti o wa ṣugbọn ko ni a imọ-ẹrọ (invalid_model); awọn aworan fun a generator ti ko le tẹsiwaju (edit_unsupported); ko si aworan fun ọkan ti o nilo (image_required). |
402 | Awọn iṣowo ko le ni ipilẹ fun gbogbo awọn aworan ti o fẹ. |
404 | Ọrọigbaniwọle (model_not_found). |
502 | Ọrọigbaniwọle (upstream_errorTi o ba tẹsiwaju lilọ kiri aaye ayelujara yii, o n gba awọn eto cookies wa. charged_sats. |
503 | Awọn fọto ko le wa ni akoko (media_hosting_unavailable). b64_json O si tun ṣiṣẹ. |
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);
Ṣiṣe awọn imọran
Ṣatunkọ awọn iroyin ti o ṣatunkọ, lẹhin a gbigbe. Eyi jẹ ipo iṣeduro ti OpenAI, nitorina awọn OpenAI SDKs ' images.edit ṣiṣẹ bi o ti wa ni. Nikan Pro generators pẹlu edit ni awọn awoṣe iwe-aṣẹ gba o.
POST https://nymbot.ai/api/v1/images/edits — o nilo API key, tabi Lightning owo fun awọn ibeereOju-iwe rẹ jẹ multipart/form-dataNi ibamu pẹlu 32 MB.
| Orilẹ-ede | Àwọn ẹka | Wọle | Ọrọìwòye |
|---|---|---|---|
image | awọn faili | Bẹẹni | Ṣiṣe awọn fọto: PNG, JPEG, WebP tabi GIF, to 20 MB. Tẹle bi image[]Ti o ba tẹsiwaju lilọ kiri aaye ayelujara yii. |
prompt | ọrọìwòye | Bẹẹni | Ti o ba tẹsiwaju |
model | ọrọìwòye | Bẹẹni | Ọpọlọpọ awọn generator pẹlu edit. |
n | Oṣuwọn | miiran | 1 ọdun 4. |
sizeaspect_ratioqualitynegative_promptoutput_format | ọrọìwòye | miiran | Ti o ba tẹsiwaju Generation. |
response_format | ọrọìwòye | miiran | "b64_json" (ti o ba tẹsiwaju nibi) tabi "url". |
Awọn iroyin ti o fi mu ti wa ni PNG, JPEG, WebP tabi GIF ti o dara julọ, fi si bi awọn oniwe-ọna ti o ba wa, ati fi si ọja Blossom, nitori awọn generators gba awọn oniwe-ọna nipasẹ ọna asopọ. Ṣayẹwo o bi awọn oniwe-ọna asopọ. Ti o ba ti awọn editing fi sori ẹrọ ati pe ko ni ohun ti o ba ti wa ni gbọdọ, awọn kopa ti a ti wa ni gbọdọ ti wa ni kanna bi fun gbigba. Awọn owo jẹ owo ti awọn generator, eyi ti o ni fun diẹ ninu awọn generators ni o ni owo fun awọn iroyin iroyin.
àwárí
{
"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 }
}
| olubasọrọ | akojọ |
|---|---|
400 | Ti o ba tẹsiwaju lilọ kiri aaye ayelujara yii, o ba tẹsiwaju lilọ kiri aaye ayelujara yii (invalid_image), tabi a generator ti ko le tẹsiwaju (edit_unsupported). |
413 | awọn fọto jẹ diẹ sii ju 20 MB (file_too_large), tabi gbogbo awọn ibeere lori 32 MB. |
503 | Awọn iroyin ko le wa ni ṣiṣe nigbagbogbo (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"));
Wọle
A fidio nilo awọn iṣẹju, ki o si ṣiṣẹ ni ibi ibi. O si fi o, gba a id lẹkansi, ati ki o gbọdọ nipa id nigba ti o ba ti wa ni ṣiṣe. Kọọkan fidio generator gbọdọ awọn Pro owo.
POST https://nymbot.ai/api/v1/videos — o nilo API key, tabi Lightning owo fun awọn ibeereawọn iroyin 202.
| Orilẹ-ede | Àwọn ẹka | Wọle | Ọrọìwòye |
|---|---|---|---|
model | ọrọìwòye | Bẹẹni | Ọrọigbaniwọle id lati GET /api/v1/models?type=videoGẹgẹbi veo. |
prompt | ọrọìwòye | Bẹẹni | ti o yẹ ki o wa. |
duration | nọmba tabi string | miiran | Iwọn ni awọn iṣẹju, diẹ ẹ sii ju 0 ati to 60. Lilo nikan nipa awọn generators ti o fẹ lati yan awọn iwọn; awọn miiran ṣe awọn oniwe-ọna iwọn, eyi ni seconds ni awọn ifihan ati awọn owo tẹsiwaju. |
aspect_ratio | ọrọìwòye | miiran | Gbogbo awọn "16:9" Wọn "9:16"Iwọn iwọn lilo "1280x720" Ti o ba tẹsiwaju si ratio. |
resolutionquality | ọrọìwòye | miiran | Ọkan ninu awọn generator resolutions Ninu awọn awoṣe, gẹgẹbi "720p" Wọn "1080p"O ti fi sori ẹrọ owo. Gbogbo ohun miiran ti wa ni ti a ti fi sori ẹrọ unsupported_resolution. |
image_url | ọrọìwòye | miiran | Ọrọigbaniwọle lati bẹrẹ lati: a https:// awọn iroyin A data:image/… URL, eyi ti wa ni gbigbe si a gbigbe Blossom akọkọ. Nilo nipasẹ awọn generators pẹlu requires_image_url. |
Owo ti wa ni aifọwọyi nigba ti o fi sori, lati awọn generator, iṣeduro ati iwọn, ki o si ti wa ni gbọdọ lati rẹ Pro owo nigba ti awọn onibara gba awọn iṣẹ, ati fi bi
cost, estimated_cost ati nymbot. Ti o ba fifi awọn iṣẹ, ko ni ohun ti wa ni yẹ. Ti o ba ti awọn iṣeduro lẹhin ti wa ni iṣeduro, tabi awọn iṣeduro ti o ti wa ni ko ni anfani lati fi sori ẹrọ ati awọn iṣeduro ti ko ni iṣeduro fun o, awọn iṣeduro ti wa ni gbọdọ lẹkansi, laifọwọyi. A iṣeduro ti o ti wa ni ṣaaju lẹhin ọsẹ kan ti wa ni yẹ ki o ba wa awọn iṣeduro, nitori awọn iṣeduro gbọdọ awọn iṣeduro lẹhin ti o gba o. A gbọdọ gbọdọ awọn iṣeduro ṣugbọn ko mu awọn iṣeduro iṣeduro ti awọn key.
Ọrọìwòye (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 Ṣatunkọ si in_progressmiiran completed Nipa awọn video ti o wa ni data Ti o ba tẹsiwaju nigbati o ba tẹsiwaju jade, o ba tẹsiwaju jade.
Ṣayẹwo ni Video
GET https://nymbot.ai/api/v1/videos/{id} — o nilo a key ti o wa si awọn nym ti fi o. A key eyi ti o ti lọ si ipo rẹ le tun tẹsiwaju.
O ṣeun 202 nigba ti awọn fidio ti wa ni ṣe ati 200 nigba ti o ba ti o ba ti wa ni sẹyin tabi ti o ti wa ni fi sẹyin. Ṣayẹwo gbogbo 5 to 10 sẹyin. Kọọkan tẹsiwaju ṣayẹwo ọkan ki o si yan ni akoko; o ko ba wa fun awọn fidio. A iṣẹ ti wa ni ti a ti wa ni ipamọ fun 24 wakati lẹhin ti o ti a ti tẹsiwaju.
GET /api/v1/videos O ṣeun 50 awọn iṣẹlẹ ti o ti wa ni akọkọ bi
{"object": "list", "data": […]}.
Ọrọìwòye (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 O si in_progress, completed Wọn failedỌrọigbaniwọle Ọrọigbaniwọle error ({"code": "generation_failed", "message": …}Ti o ba tẹsiwaju lilọ kiri aaye ayelujara yii, cost O ni 0 ati nymbot Ṣatunkọ
refunded_credits ati refunded_sats. Awọn fidio ti o ti ṣẹda jẹ lori a gbajumo Blossom, gẹgẹ bi awọn aworan ti a ti ṣẹda.
| olubasọrọ | akojọ |
|---|---|
400 | Ti o ba tẹsiwaju lilọ kiri aaye ayelujara yii, o n gba awọn eto cookies wa.invalid_value); a ipari ti awọn generator ko pese (unsupported_resolution); ko si aworan fun a generator ti o nilo (image_required); awọn awoṣe ti ko ba wa ni a fidio (invalid_model). |
402 | Ọrọigbaniwọle Pro ko le pade awọn fidio. |
404 | Ti o ba tẹsiwaju (model_not_found), tabi ko si iṣẹ nipa id fun nym rẹ, tabi o jẹ diẹ ẹ sii ju 24 wakati (video_not_found). |
429 | Ti o ba tẹsiwaju rẹ ni 10 videos (video_jobs_limitTẹ lori wọn ati fi siwaju sii nigba ti ọkan ti o kẹhin. |
502 | Ti o ba tẹsiwaju ṣiṣe awọn iṣẹ. Ko si nkan ti wa ni gbọdọ si awọn onibara ti wa ni gbọdọ fun. |
503 | Awọn fidio ko le fi sori ẹrọ tabi fi sori ẹrọ bayi (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);
Ọrọigbaniwọle
Ṣayẹwo awọn ọrọ ati ki o tẹsiwaju awọn faili audio, ko si ọna asopọ. O ti wa ni OpenAI ká fọto ibi, ki o audio.speech.create awọn OpenAI SDKs ṣiṣẹ.
POST https://nymbot.ai/api/v1/audio/speech — o nilo API key, tabi Lightning owo fun awọn ibeere.
| Orilẹ-ede | Àwọn ẹka | Wọle | Ọrọìwòye |
|---|---|---|---|
model | ọrọìwòye | miiran | Ọrọìwòye awoṣe lati Awọn awoṣe audioTi o ba tẹsiwaju: awọn Standard Voice, @cf/myshell-ai/melotts. aura-2 Ti o ba tẹsiwaju ni Deepgram Aura 2. |
input | ọrọìwòye | Bẹẹni | Awọn ọrọ lati ṣẹda: to 800 awọn ẹya ara ẹrọ fun awọn ọrọ, 2,000 fun Aura 2. |
voice | ọrọìwòye | miiran | Iwe id lati Àwọn ẹka: Aura orukọ bi luna (Awọn aura-2-luna-en), tabi awọn orukọ MeloTTS (en, es, fr, zh). OpenAI awọn orukọ orukọ bi alloy Ti o ba tẹsiwaju ki o si gba awọn model's default voice. |
language | ọrọìwòye | miiran | Ọrọigbaniwọle koodu bi esTi o ba ti o ba ni ọrọ, o gba ọrọ kan fun ọrọ yii. Ọrọ ti o fọwọsi ọrọ miiran 422 voice_language_mismatch, ati awọn ede ti awọn awoṣe ko ni ọrọ fun 422 unsupported_language. |
response_format | ọrọìwòye | miiran | Ọrọigbaniwọle Back mp3 Oṣuwọn Aura 2 tẹsiwaju mp3 Ti o ba tẹsiwaju, opus, aac, flac, wav Wọn pcm. |
speed | nọmba | miiran | Ti o ba tẹsiwaju ati ignore. |
Ti o ba tẹsiwaju si awọn ọna asopọ ti o ba tẹsiwaju si awọn ọna asopọ ti o ba tẹsiwaju si awọn ọna asopọ ti o ba tẹsiwaju si awọn ọna asopọ.
Content-TypeIye owo jẹ ni awọn X-Nymbot-Cost-Sats Ti o ba tẹsiwaju awọn ọna asopọ, ohun ti o ba wa ni ko siwaju.
àwárí
HTTP/1.1 200 OK
Content-Type: audio/mpeg
X-Nymbot-Cost-Sats: 4.2
X-Nymbot-Balance-Sats: 41055.6
(audio bytes)
| olubasọrọ | akojọ |
|---|---|
400 | Ti o ba tẹsiwaju lilọ kiri aaye ayelujara yii, o n gba awọn eto cookies wa.input_too_long); a fọọmu awọn awoṣe ko le ṣẹda (unsupported_response_formataaye ayelujara yii (invalid_voice); a awoṣe ti ko jẹ awoṣe iṣiro (invalid_model). |
422 | Awọn ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara. |
502 | Ọrọìwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòw |
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()));
Awọn ohun elo ati awọn aworan
Ọpọlọpọ awọn ẹya ara ẹya ara ẹrọ ti o wa ni aṣayan ninu awọn ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara.
GET https://nymbot.ai/api/v1/audio/models Nibẹ ni ko si awọn key nilo.
GET https://nymbot.ai/api/v1/audio/voices?language=en Nibẹ ni ko si awọn key nilo.
| Orilẹ-ede | Àwọn ẹka | Wọle | Ọrọìwòye |
|---|---|---|---|
language | Ọrọigbaniwọle | miiran | Nikan awọn ẹya ara ẹrọ fun ọrọ yii. |
model | Ọrọigbaniwọle | miiran | Nikan awọn aworan fun awoṣe yii. |
Awọn ifiranṣẹ (Voice)
{
"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 }
]
}
Awọn ọna asopọ Awọn imọran {"object": "list", "data": {"tts": […], "stt": […]}}Gbogbo awọn ọna awoṣe nfun awọn oṣuwọn, owo, max_input_chars,
response_formats, languages ati default_voice; awọn awoṣe transcription nfun awọn alaye rẹ, max_file_bytes, max_seconds, awọn ẹya ara ẹrọ ati owo fun iṣẹju.
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);
Ọrọigbaniwọle
Ṣatunkọ awọn iroyin ni ọrọ pẹlu Whisper. Eyi ni OpenAI transcription endpoint, ki o si
audio.transcriptions.create awọn iṣẹ.
POST https://nymbot.ai/api/v1/audio/transcriptions — o nilo API key, tabi Lightning owo fun awọn ibeereOju-iwe rẹ jẹ multipart/form-data.
| Orilẹ-ede | Àwọn ẹka | Wọle | Ọrọìwòye |
|---|---|---|---|
file | awọn faili | Bẹẹni | Awọn igbasilẹ, lati 256 bytes to 25 MB ati ki o to 30 iṣẹju: WAV, WebM, MP4 tabi M4A, Ogg tabi Opus, MP3 ati awọn miiran fọto Whisper reads. |
model | ọrọìwòye | miiran | Oṣuwọn whisperTi o ba tẹsiwaju si whisper v3 turbo. whisper-1, whisper-large-v3-turbo ati @cf/openai/whisper-large-v3-turbo Ti o ba tẹsiwaju |
language | ọrọìwòye | miiran | Awọn idi ti a fọwọsi bi enTi o ba tẹsiwaju ti o ba tẹsiwaju. |
prompt | ọrọìwòye | miiran | Awọn ọrọ ti o wa ni lati wa ni o wa, gẹgẹbi awọn orukọ. Nikan awọn akọkọ 1000 awọn ọrọ ti wa ni lo. |
response_format | ọrọìwòye | miiran | json Ti o ba tẹsiwaju, text, srt, vtt Wọn verbose_json. |
Fun awọn faili WAV, WebM, MP4 ati Ogg, awọn ipari ti wa ni kọ lati faili ṣaaju ki o to eyikeyi ṣiṣe, ki o si awọn igbeyewo diẹ sii ju 30 iṣẹju ti wa ni fifi siwaju sii (ti o ni 3 iṣẹju). A faili WAV ni ipari ti wa ni lati awọn igbeyewo ipari, awọn kanna ati iwọn igbeyewo iwọn. Awọn ipari ti awọn faili miiran, gẹgẹbi MP3, ko le wa ni fifi siwaju sii, nitorina wọn ti wa ni o wa nipa iwọn: ni awọn kekere bitrate Nymbot fẹ, 8 kbps, 30 iṣẹju jẹ 1.8 MB, ati awọn faili ti o tobi ni iru yi ti wa ni fifi pẹlu 413
audio_too_long ṣaaju ki o to eyikeyi ṣiṣe. Fi siwaju sii awọn igbeyewo bi WAV, WebM, MP4 tabi Ogg. Ti o ba ti Whisper lẹhin siwaju sii ju 30 iṣẹju ṣugbọn, awọn ibeere ti wa ni ti wa ni ko siwaju pẹlu
413 audio_too_long, ati nitori Whisper ti ṣiṣẹ, 30 iṣẹju ti wa ni gbigbe.
Ti o ba fẹ fun awọn iwọn ti awọn audio, iṣiro si awọn akọkọ: awọn julọ ti iwọn lẹhin lati faili, awọn iwọn Whisper iroyin, ati awọn kekere ti awọn faili iwọn le ṣe, ni Whisper's per-minute owo pẹlu awọn iye owo ati iye owo, ati awọn ti o kere 0.05 gbigbe a ibeere. O ti wa ni owo lati awọn iye owo nigba ti o le yẹ, ati lati Pro ni miiran; a 402 Ninu awọn app, transcribing a fọto ọrọìwòye le jẹ free; lori awọn API ti o ti wa ni gbogbo gbigbe. If Whisper faili, nikan ti wa ni gbigbe.
àwárí
{
"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 Ṣatunkọ awọn ọrọ ọrọ, srt ati vtt awọn subtitles, ati
verbose_json Ṣatunkọ awọn ede, akoko ati awọn akoko awọn ẹya ara. Fun awọn mẹta ti ko ni JSON, owo jẹ ni awọn titẹ.
| olubasọrọ | akojọ |
|---|---|
400 | Ti o ba tẹsiwaju lilọ kiri aaye ayelujara yii, o n gba awọn eto cookies wa.invalid_audio), a ko mọ format, tabi a awoṣe ti ko jẹ awọn awoṣe transcription (invalid_model). |
402 | Ṣugbọn awọn iṣakoso ko le fi o. |
413 | Awọn faili jẹ diẹ ẹ sii ju 25 MB (file_too_large) tabi awọn iṣakoso diẹ ẹ sii ju 30 iṣẹju, tabi, ni aaye ti o wa ko le ṣee ṣe iwọn lilo, diẹ ẹ sii ju 1.8 MB (audio_too_long). |
502 | Ọrọìwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòw |
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);
Ṣatunkọ ipinnu ni English
POST https://nymbot.ai/api/v1/audio/translations — o nilo API key, tabi Lightning owo fun awọn ibeereOju-iwe rẹ jẹ multipart/form-data.
Ti o ba tẹsiwaju bi awọn transcription, pẹlu awọn ẹya ara ẹya ara language, awọn ẹya ara ẹrọ ati awọn owo, ṣugbọn awọn ọrọ ti o ba wa ni atilẹyin ni English ti o ba tẹlẹ. Awọn OpenAI SDKs npe o pẹlu 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);
àwárí
Ṣiṣeto awọn ọna asopọ si awọn vektor fun iwadi, agbegbe ati deduplication. Awọn awoṣe ṣiṣẹ lori Cloudflare ati ki o tẹsiwaju iṣeduro iṣeduro.
POST https://nymbot.ai/api/v1/embeddings — o nilo API key, tabi Lightning owo fun awọn ibeere.
| Orilẹ-ede | Àwọn ẹka | Wọle | Ọrọìwòye |
|---|---|---|---|
model | ọrọìwòye | Bẹẹni | Ọpọlọpọ awọn awoṣe lati GET /api/v1/models?type=embedding. |
input | Ọrọigbaniwọle Array of Strings | Bẹẹni | Ti o ba tẹsiwaju lilọ kiri aaye ayelujara yii, o tẹsiwaju lilọ kiri aaye ayelujara yii (token_input_unsupported) Gbogbo input gbọdọ wa ni ibamu pẹlu awọn model context_lengthTi o ba tẹsiwaju ni 4 bytes a token. |
encoding_format | ọrọìwòye | miiran | float (Ti o ba tẹsiwaju) tabi base64 (Little-endian 32-bit awọn floats). |
dimensions | Oṣuwọn | miiran | awọn awoṣe rẹ, tabi fun a awoṣe pẹlu supported_dimensions Ọkan ninu ọkan ninu awọn wọnyi; awọn vektor ni lẹhinna ti wa ni akọkọ ati normalized. Anything else is rejected. |
| awoṣe | Iwọn | Orilẹ-ede |
|---|---|---|
@cf/baai/bge-m3 | 1024, ọpọlọpọ awọn ede | 8,192 awọn ọja |
@cf/qwen/qwen3-embedding-0.6b | 1024, ọpọlọpọ awọn ede | 8,192 awọn ọja |
@cf/baai/bge-large-en-v1.5 | 1024, English ọrọìwòye | 512 awọn ọja |
@cf/baai/bge-base-en-v1.5 | 768 ọrọìwòye | 512 awọn ọja |
@cf/baai/bge-small-en-v1.5 | 384 ọrọìwòye | 512 awọn ọja |
Awọn orisun ti awọn awoṣe jẹ iroyin ti o wa fun eyi ti wa ni o wa ati eyi ti o ba wa ni owo; Google's EmbeddingGemma, pẹlu awọn vektoru ti o pọju lori ibeere, ṣii nibẹ ni nibẹ ni o wa nigbati awọn katalogu ni o ni owo fun o. Awọn imudojuiwọn ti wa ni iṣeduro fun awọn input token, ati awọn 0.05-krediti kekere wa fun kọọkan ibeere, ko si kọọkan ibeere, ki o si batching ọpọlọpọ awọn ọrọ si ọkan ibeere jẹ julọ owo ju lati fi wọn ọkan ni akoko kan.
àwárí
{
"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 }
}
| olubasọrọ | akojọ |
|---|---|
400 | Ti o ba tẹsiwaju lilọ kiri aaye ayelujara yii, o n gba awọn eto cookies wa.token_input_unsupported); diẹ ẹ sii ju 100 inputs (too_many_inputs); awọn ibaraẹnisọrọ diẹ ẹ sii ju awọn awoṣe gba (input_too_long); a iwọn ti awọn awoṣe ko le fi (unsupported_dimensions). |
402 | Ti o ba tẹsiwaju lati ṣayẹwo awọn iṣowo ti wa ni ko ṣee ṣe. Awọn iṣowo ko lo awọn iṣowo Pro. |
404 | Ti o ba wa ni ko si modẹla nipa orukọ yii. |
502 | Awọn awoṣe ti wa ni iṣeduro. Ko si iṣeduro nikan. |
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);