Teadmistebaas Arendajad
Pildid, audio ja sisseehitused
Rakenduse generaatorid ja otsingu ehitusblokkid: pildid, videod, kõne, transkriptsioon ja sisseehitused, millest igaüks arvutatakse teie bilansist kasutamise kohta.
See leht on mugavuse huvides masintõlgitud. Kohaldatav on ingliskeelne originaalversioon.
Kujutiste genereerimine
Teeb ühe kuni nelja pildi soovitusest ja tagastab need, kui need on tehtud. ?image Kasvõi selle app.
POST https://nymbot.ai/api/v1/images/generations - vajab API võtme või Lightning tasu taotluse alusel.
IUD on pärit GET /api/v1/models?type=imagestandardse generaatori kasutamine,
@cf/black-forest-labs/flux-1-schnelliga teine generaator kulutab Pro krediiti oma hinnaga, tavalise tasu ja marginaaliga, nagu Üks app. n Pildid maksavad
n Väljad, mida generaator ei võta, on langetatud, mitte tagasi lükatud; standardgeneraator kasutab ainult juhendit.
| väljad | tüüpi | Nõutav | Kirjeldus |
|---|---|---|---|
model | Stringid | Jah | Generaatori ID, näiteks nano-banana. |
prompt | Stringid | Jah | Kasutatakse ainult esimesi 2000 tähemärki. |
n | integreeritud | Ei ole | 1 kuni 4. vaikimisi 1. aktsepteeritakse ka kui num_images. |
size | Stringid | Ei ole | Proportsionaalne näitaja nagu "16:9"või avatud suurusega, nagu "1792x1024", mis muutub kõige lähemaks 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9, 5:4 ja 4:5. "auto" Jäta see generaatorile. |
aspect_ratio | Stringid | Ei ole | Sama nagu sizeja võidab, kui mõlemad on saadetud. |
quality | Stringid | Ei ole | Spetsiifilised generaatorid, näiteks "low", "medium" või "high". |
negative_prompt | Stringid | Ei ole | Mida välja jätta. |
output_format | Stringid | Ei ole | "png", "jpeg" või "webp". |
response_format | Stringid | Ei ole | "url" (default) või "b64_json". |
image_url | Stringid | Ei ole | Pilt algab järgmisest: A https:// link maksimaalselt 4 096 tähemärki ilma kasutajanime või paroolita või data:image/…;base64 URL (PNG, JPEG, WebP või GIF; mitte SVG). editNõuavad need, kellel on requires_image_url. |
resolution ei kasutata: iga generaator teeb oma suuruse. url, iga pilt laaditakse üles avalikule Blossom-i võõrustajale ja saate selle linki (mõned generaatorid annavad ainult oma linki, mis edastatakse edasi). Mida tulekahju näebkoos
b64_json pilt tagastatakse vastuses ja seda ei laadita kunagi üles. data: URL on image_url Seda kontrollitakse samamoodi nagu
Edita ja üles laaditakse Blossom kõigepealt nii, et generaator saab selle üles võtta; see kustutatakse uuesti, kui taotlus ei ole arveldatud.
Kui mõned neist n pildid ebaõnnestuvad, saate need, mis töötasid, makstakse ainult nende eest (pluss kõik teenusepakkuja arveldati hoolimata ebaõnnestumisest) ja nymbot.failed ütleb, kui palju on puudu. Kui kõik ebaõnnestuvad, tagastatakse taotlus 502.
vastus
{
"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 }
}
| staatuse | Millal |
|---|---|
400 | ei ole kiire; n Väljaspool 1 kuni 4 (invalid_value(Väga halb suurus)invalid_size) või pilt (invalid_image, invalid_image_url); mudel, mis eksisteerib, kuid ei ole pildi generaator (invalid_model); pilt generaatorile, mis ei saa redigeerida (edit_unsupported); ei ole pilti kellelegi, kes seda vajab (image_required). |
402 | Tasakaal ei saa katta kõiki soovitud pilte. |
404 | Ei ole sellise nimega mudelit (model_not_found). |
502 | Võitja ei suutnud (upstream_errorMitte midagi ei nõuta, välja arvatud juhul, kui teenusepakkuja on selle katse eest tasunud; siis on viga charged_sats. |
503 | Pildid ei saa hetkel majutada (media_hosting_unavailable). b64_json Töötab ikka veel. |
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);
Piltide redigeerimine
Muudab üleslaaditud pilti, järgides juhendit.See on OpenAI redigeerimise lõpp-punkt, nii et OpenAI SDK-d images.edit töötab nii nagu see on. ainult Pro generaatorid edit Sinu nimekirjas on see aktsepteeritud.
POST https://nymbot.ai/api/v1/images/edits - vajab API võtme või Lightning tasu taotluse aluselKeha on multipart/form-dataKuni 32 MB.
| väljad | tüüpi | Nõutav | Kirjeldus |
|---|---|---|---|
image | failid | Jah | Muudetav pilt: PNG, JPEG, WebP või GIF, kuni 20 MB. image[]Esimene neist on kasutatud. |
prompt | Stringid | Jah | Mida siis muuta. |
model | Stringid | Jah | Üks generaator koos edit. |
n | integreeritud | Ei ole | 1 kuni 4. |
sizeaspect_ratioqualitynegative_promptoutput_format | Stringid | Ei ole | Ja põlvkondade kohta. |
response_format | Stringid | Ei ole | "b64_json" (põhimõtteliselt siin) või "url". |
Teie üleslaaditud pilt kontrollitakse, kas see on hästi vormitud PNG, JPEG, WebP või GIF, saadetakse selle tegelikuks tüübiks ja pannakse avalikule Blossom-i võõrustajale, sest generaatorid võtavad oma sisendi lingilt. Kohtle seda avalikuna. Kui redigeerimine ebaõnnestub ja midagi ei laadita, kustutatakse hostitud koopia uuesti. Vastus on sama kuju kui generaatoril. Hind on generaatori hind, mis mõne generaatori puhul sisaldab sisendpildi eest tasu.
vastus
{
"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 }
}
| staatuse | Millal |
|---|---|
400 | Ei ole pilti ega juhendit, fail, mis ei ole pilt (invalid_image) või generaator, mis ei saa redigeerida (edit_unsupported). |
413 | Pilt on üle 20 MB (file_too_large), või kogu taotlus üle 32 MB. |
503 | Pilti ei saa hetkel majutada (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"));
Videod
Video võtab minutit, nii et see töötab taustal. Saate selle esitada, saada id kohe ja küsida id kuni see on tehtud.
POST https://nymbot.ai/api/v1/videos - vajab API võtme või Lightning tasu taotluse aluselTagasitulek 202.
| väljad | tüüpi | Nõutav | Kirjeldus |
|---|---|---|---|
model | Stringid | Jah | Videogeneratsiooni ID GET /api/v1/models?type=videoNagu näiteks veo. |
prompt | Stringid | Jah | Mis peaks juhtuma. |
duration | number või string | Ei ole | Pikkus sekundites, rohkem kui 0 ja kuni 60. Kasutatakse ainult generaatorite poolt, mis võimaldavad teil valida pikkust; teised teevad oma tavapärase pikkuse, mis on see, mida seconds vastus ja hind järgneb. |
aspect_ratio | Stringid | Ei ole | Sellised nagu "16:9" või "9:16"Sellise suurusega nagu "1280x720" See muutub lähimaks proportsiooniks. |
resolutionquality | Stringid | Ei ole | Üks generaatoritest resolutions nimekirjas, nagu näiteks "720p" või "1080p"See määrab hinna.Kõik muu on keeldunud unsupported_resolution. |
image_url | Stringid | Ei ole | Pilt algab järgmisest: A https:// link või a data:image/… URL, mis laaditakse kõigepealt üles avalikule Blossom-i võõrustajale. requires_image_url. |
Hind on fikseeritud, kui esitate, generaatorist, resolutsioonist ja pikkusest, nii et see laaditakse teie Pro tasakaalust kohe, kui pakkuja aktsepteerib tööd, ja näidatakse kui
cost, estimated_cost ja nymbotKui teenusepakkuja keeldub tööst, ei võeta midagi tasu.Kui renderimine hiljem ebaõnnestub või valmis klippi ei saa salvestada ja teenusepakkuja ei ole selle eest arvet teinud, tagastatakse tasu üks kord, automaatselt.Render, mis jätkub veel ühe tunni pärast, loobub ja säilitab oma tasu, sest teenusepakkuja nõuab renderimist, kui ta seda aktsepteerib.Restitus tagastab krediiti, kuid ei vähenda võtme kulude arvu.
Ülevaade (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 Algab kui in_progressvõi completed Video, mis on juba data Pärast seda andis generaator selle kohe tagasi.
Vaadake videot
GET https://nymbot.ai/api/v1/videos/{id} - vajab võtme, mis kuulub nimele, kes selle esitas.
See vastab 202 Kui video on tehtud ja 200 kui see on lõpetatud või on ebaõnnestunud. Küsige iga 5 kuni 10 sekundi järel. Iga kontroll küsib pakkujale üks kord ja vastab korraga; see ei oota kunagi videot.
GET /api/v1/videos loetleb võtme viimased 50 töökohta kui
{"object": "list", "data": […]}.
Küsitlused (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 on in_progress, completed või failedEbaõnnestunud töökoht viib error ({"code": "generation_failed", "message": …}Kui see on tagastatud, cost on 0 ja nymbot Lisatud
refunded_credits ja refunded_satsLõppenud video on avalikul Blossom hostil, nagu loodud pildid.
| staatuse | Millal |
|---|---|
400 | Ei ole kiireloomuline; kestus väljaspool 0 kuni 60 (invalid_value); resolutsioon, mida generaator ei paku (unsupported_resolution); ei ole pilti generaatorile, mis vajab ühte (image_required); mudel, mis ei ole video generaator (invalid_model). |
402 | Pro tasakaal ei saa videot katta. |
404 | Ei ole sellist generaatorit (model_not_found) või ei tööta selle ID-ga teie nimme jaoks või see on vanem kui 24 tundi (video_not_found). |
429 | Teie nimel on juba 10 videot rendering (video_jobs_limitKontrollige neid ja esitage rohkem, kui üks lõpetab. |
502 | Generator keeldus tööst. Mitte midagi ei võeta tasu, kui teenusepakkuja ei ole selle eest tasunud. |
503 | Videod ei saa praegu tarnida ega salvestada (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);
Teksti kõne
Loeb teksti valjusti ja tagastab helifaili ise, mitte linki. audio.speech.create OpenAI SDK töötab.
POST https://nymbot.ai/api/v1/audio/speech - vajab API võtme või Lightning tasu taotluse alusel.
| väljad | tüüpi | Nõutav | Kirjeldus |
|---|---|---|---|
model | Stringid | Ei ole | Rääkimise mudel alates Audio mudelite nimekiriVaikimisi: standardne hääl @cf/myshell-ai/melotts. aura-2 See on Deepgram Aura 2. |
input | Stringid | Jah | Teksti lugemine: kuni 800 tähemärki standardhäälele, 2000 Aura 2 jaoks. |
voice | Stringid | Ei ole | Hääle ID Häälte nimekiriAura kõlarid nagu luna (või aura-2-luna-enMeloTTS (või MeloTTS keel)en, es, fr, zhOpenAI hääl nimed nagu alloy on vastu võetud ja annab mudeli vaikimisi hääle. |
language | Stringid | Ei ole | Keele koodid nagu esIlma hääleta valib ta selle keele jaoks ühe hääle. 422 voice_language_mismatchja keel, mille jaoks mudelil ei ole häält 422 unsupported_language. |
response_format | Stringid | Ei ole | Standardne hääl naaseb mp3 Aura 2 tagasitulek mp3 (Kõik need defektid on opus, aac, flac, wav või pcm. |
speed | numbri | Ei ole | aktsepteeritud ja ignoreeritud. |
Standardne hääl maksab 3 standardkrediiti (30 sats) ühe taotluse kohta, nagu rakenduses. Aura 2 on Pro, hinnatakse teie saadetud tähemärkide järgi.
Content-TypeKulud on selles, et X-Nymbot-Cost-Sats Kui kõne mudel ebaõnnestub, ei laadita midagi.
vastus
HTTP/1.1 200 OK
Content-Type: audio/mpeg
X-Nymbot-Cost-Sats: 4.2
X-Nymbot-Balance-Sats: 41055.6
(audio bytes)
| staatuse | Millal |
|---|---|
400 | Ei ole sisend; sisend ületab mudeli piiri (input_too_long); vorm, mida mudel ei saa toota (unsupported_response_format); tundmatu hääl (invalid_voice(See ei ole üheselt mõistetav näide)invalid_model). |
422 | Hääl ei räägi antud keelt või mudelil pole selle jaoks häält. |
502 | Rääkimise mudel ebaõnnestus. |
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()));
Audio mudelid ja hääled
Kaks avalikku nimekirja, et valida kõnemudel ja hääl või transkriptsioonimudel.On 41 Aura 2 inglise keelt kõnelejad ja neli MeloTTS keelt.
GET https://nymbot.ai/api/v1/audio/models Ei ole vaja võtmeid.
GET https://nymbot.ai/api/v1/audio/voices?language=en Ei ole vaja võtmeid.
| väljad | tüüpi | Nõutav | Kirjeldus |
|---|---|---|---|
language | String (või küsimus) | Ei ole | Ainult hääled selle keele jaoks. |
model | String (või küsimus) | Ei ole | Ainult hääled selle mudeli jaoks. |
Vastused (või hääled
{
"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 }
]
}
Vastused mudelite nimekirja {"object": "list", "data": {"tts": […], "stt": […]}}Iga kõne mudel annab oma tasakaalu, hinna, max_input_chars,
response_formats, languages ja default_voice; transkriptsioonimudel annab oma aliasid, max_file_bytes, max_seconds, formaadid ja hind minutis.
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äägi tekstiga
Muundab salvestuse tekstiks Whisperiga.See on OpenAI transkriptsiooni lõpp-punkt, nii et
audio.transcriptions.create See töötab.
POST https://nymbot.ai/api/v1/audio/transcriptions - vajab API võtme või Lightning tasu taotluse aluselKeha on multipart/form-data.
| väljad | tüüpi | Nõutav | Kirjeldus |
|---|---|---|---|
file | failid | Jah | Salvestamine, alates 256 baiti kuni 25 MB ja kuni 30 minutit: WAV, WebM, MP4 või M4A, Ogg või Opus, MP3 ja muud formaadid Whisper loeb. |
model | Stringid | Ei ole | defektid whisperÜks neist on Whisper Large v3 Turbo. whisper-1, whisper-large-v3-turbo ja @cf/openai/whisper-large-v3-turbo See tähendab sama. |
language | Stringid | Ei ole | Kõnelevad keeled, nagu enAvastatud kui välja jäetud. |
prompt | Stringid | Ei ole | Sõnad või õigekirja oodata, näiteks nimed. Kasutatakse ainult esimese 1000 tähemärki. |
response_format | Stringid | Ei ole | json (Kõik need defektid on text, srt, vtt või verbose_json. |
WAV, WebM, MP4 ja Ogg failide puhul loetakse pikkus failist enne, kui miski töötab, nii et üle 30 minuti pikkune salvestus on tagasi lükatud (koos 3 sekundiga). WAV-faili pikkus tuleneb selle proovi kiirusest, kanalidest ja proovi suurusest. Muude vormingute pikkust, näiteks MP3, ei saa ette lugeda, nii et need on piiratud suurusega: madalaima bitikiirusega Nymbot eeldab, et 8 kbps, 30 minutit on 1,8 MB ja suurem fail sellises vormingus on tagasi lükatud 413
audio_too_long Saada pikemaid salvestisi nagu WAV, WebM, MP4 või Ogg. Kui Whisper siis aru rohkem kui 30 minutit niikuinii, taotlus on tagasi lükatud
413 audio_too_long, ja kuna Whisper jooksis, laaditakse 30 minutit.
Te maksate audio pikkuse eest, ümardatuna kuni teiseni: mida pikem on failist lugenud pikkus, Whisper'i aruannete pikkus ja mida väiksem failide suurus võimaldab, Whisper'i minutitasu eest tavalise tasu ja marginaaliga ning vähemalt 0,05 krediiti taotlusele. 402 annab, mida iga tasakaal vajaks. rakenduses võib häälsõnumi transkribeerimine olla tasuta; API-l on see alati laetud.
vastus
{
"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 tagastab selge teksti, srt ja vtt tagastab subtiitrid ja
verbose_json lisab keele, kestuse ja ajastatud segmendid. Kolme jaoks, mis ei ole JSON, on maksumus pealkirjades.
| staatuse | Millal |
|---|---|
400 | Ei ole faili, faili, millel ei ole kasutatavat heli (invalid_audio, tundmatu formaat või mudel, mis ei ole transkriptsioonimudel (invalid_model). |
402 | Ka tasakaal ei suuda seda katta. |
413 | fail on suurem kui 25 MB (file_too_large(Võimalik, et see on rohkem kui 10 minutit, kuid mitte rohkem kui 10 minutit, kui see ei ole võimalik lugeda)audio_too_long). |
502 | Whisper ei suutnud audiot töödelda. |
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);
Kõne tõlkimine inglise keelde
POST https://nymbot.ai/api/v1/audio/translations - vajab API võtme või Lightning tasu taotluse aluselKeha on multipart/form-data.
Sama nagu transkriptsioon, samade väljadega peale language, piirangud ja hind, kuid tekst tuleb tagasi inglise keeles, sõltumata keelest. 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);
Sisseehitatud
Muundab teksti vektoriteks otsinguks, klastriks ja deduplikatsiooniks.Mudelid töötavad Cloudflare'is ja kulutavad standardse tasakaalu.
POST https://nymbot.ai/api/v1/embeddings - vajab API võtme või Lightning tasu taotluse alusel.
| väljad | tüüpi | Nõutav | Kirjeldus |
|---|---|---|---|
model | Stringid | Jah | Sisseehitatud mudel alates GET /api/v1/models?type=embedding. |
input | string või string array | Jah | Teksti sisestamine, kuni 100 tühja stringiga.token_input_unsupportedIga sisend peab sobima mudeli context_length, loendatud kui umbes neli baiti token. |
encoding_format | Stringid | Ei ole | float (default) või base64 (Little-endian 32-bit floats mõõdud) |
dimensions | integreeritud | Ei ole | mudeli enda suurus või mudeli puhul, millel on supported_dimensions üks neist; vektor on siis lühendatud ja normaliseeritud. |
| mudel | mõõtmed | kontekstis |
|---|---|---|
@cf/baai/bge-m3 | 1024 paljudes keeltes | 8,192 märki |
@cf/qwen/qwen3-embedding-0.6b | 1024 paljudes keeltes | 8,192 märki |
@cf/baai/bge-large-en-v1.5 | 1024 inglise keeles | 512 krooni |
@cf/baai/bge-base-en-v1.5 | 768, inglise keel | 512 krooni |
@cf/baai/bge-small-en-v1.5 | 384 Inglise keel | 512 krooni |
Mudelite nimekiri on tõe allikas, mille jaoks need on saadaval ja mida nad maksavad; Google'i EmbeddingGemma, kus on lühemad vektorid taotluse korral, ilmub seal ka siis, kui kataloogil on selle hind.
vastus
{
"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 }
}
| staatuse | Millal |
|---|---|
400 | Ei ole sisend või tühi üks; token array (token_input_unsupported); rohkem kui 100 sisendit (too_many_inputs); sisend on pikem kui mudel võtab (input_too_long); suurus, mida mudel ei saa anda (unsupported_dimensions). |
402 | Standardtasakaal on liiga madal.Sisseehitused ei kasuta kunagi Pro tasakaalu. |
404 | Ühtegi mudelit sellise nime all ei ole. |
502 | See mudel ebaõnnestus.Midagi ei ole tasutud. |
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);