Tsibela kumxholo
Ukuguqulwa kweNymbot

Okubelelwe elwazini Iimveliso

Iimifanekiso, i-audio kunye ne-embeddings

I-generators kwi-app, kunye ne-building blocks ye-search: iifoto, i-video, i-speech, i-transcription kunye ne-embeddings, zonke zithunyelwe ukusetyenziswa kwakho.

Ukwenza Images

Yenza iifoto ezimbini okanye ezimbini ukusuka kwi-prompt kwaye i-returns xa ziyafumaneka. It is the same set of generators as ?image Kwi app.

POST https://nymbot.ai/api/v1/images/generations — kufuneka i-API key, okanye I-Lightning Payment ngexesha lokuphendula.

Izixhobo ezivela GET /api/v1/models?type=imageI-Generator yeMgangatho yeMgangatho @cf/black-forest-labs/flux-1-schnell, ixabiso flat 5 credit standard (50 sats) umfanekiso. Zonke generator enye iintlawulo iintlawulo Pro ngexabiso yayo yayo, kunye neentlawulo yayo kunye neengxabiso, njengoko I-App. n Iimifanekiso iindleko n Umgca we-generator ayifunyanwa ngexesha elifanayo; i-generator ye-standard isebenzisa i-prompt kuphela.

UkucaciswaUhloboUkucingaUkucaciswa
modelUkucingaEweI-Generator ID, njenge nano-banana.
promptUkucingaEweUkusetyenziswa kuphela iiyure ezimbini ezidlulileyo ze-2000.
nUkucingaNgaba1 ukuya 4. I-Default 1. Kwakhona ifumaneka njengoko num_images.
sizeUkucingaNgabaI-Aspect Ratio efana ne- "16:9", okanye i-OpenAI ubungakanani njenge "1792x1024", leyo ilungileyo kwi-1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9, 5:4 kunye ne-4:5. "auto" Nceda uqhagamshelane generator.
aspect_ratioUkucingaNgabaKwakhona njengoko size, kwaye waya ifumaneka ukuba zombini zithunyelwe.
qualityUkucingaNgabaGenerator-specific, ezifana "low", "medium" okanye "high".
negative_promptUkucingaNgabaYintoni ukunceda.
output_formatUkucingaNgaba"png", "jpeg" okanye "webp".
response_formatUkucingaNgaba"url" (i-default) okanye "b64_json".
image_urlUkucingaNgabaUmbala ukuqala nge: a https:// i-link ye-maximum ye-4.096 iimpawu ngaphandle kwe-username okanye i-password data:image/…;base64 I-URL (i-PNG, i-JPEG, i-WebP okanye i-GIF; akukho i-SVG). I-Generator kuphela editIzixhobo zeNdlovu requires_image_url.

resolution akukho kusetyenziswa: yonke generator yenza ubungakanani yayo. Nge url, zonke iifoto zithunyelwe kwi-host ye-Blossom ye-publish kwaye unayo ikhonkco yayo (i-generator ezininzi zithunyelwa kuphela ikhonkco yayo yayo yayo, eyayithunyelwa). Ngaba nayiphi na umnxeba unokufumana kwaye ayikho kwakhona; nqakraza Yintoni i-Fire Can SeeUkutya b64_json umfanekiso ifumaneka kwisibhozo kwaye ayidlulanga. Umfanekiso efumaneka njenge data: Uluhlu image_url ifumaneka ngexesha elifanayo njengoko Ukucinga kwaye ifakwe kwi-Blossom yokuqala ukuze i-generator inokufumana; ifakwe kwakhona ukuba isicelo akufutshane.

Ukuba ezinye i n iifoto ifumaneka, ufumane iifoto ezifanelekileyo, ziquka kuphela kwiifoto (plus nayiphi na i-provider ifakwe nangona ifumaneka), kunye nymbot.failed Ukubonisa iindidi ezikhoyo. Ukuba zonke iingxaki, i-request ibonelela 502.

Qhagamshelana

{
  "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 }
}
UmgangathoNgaba
400Ukusebenza ngokushesha; n 1 ukuya 4 (invalid_value); ubungakanani obungapheliyo (invalid_size) okanye umfanekiso (invalid_image, invalid_image_url); imodeli efanayo kodwa ayikho generator image (invalid_model); umfanekiso ye-generator enokukwazi ukuyifaka (edit_unsupported); akukho umfanekiso yeyona kufuneka (image_required).
402I-Balance ayikwazi ukucacisa zonke iifoto ezinikezwayo.
404(Khona isibonelo esithile esithile)model_not_found).
502Izixhobo ze-Generator (upstream_error). Akukho ingxelo ngaphandle kwe-provider ifayilishwe ngenxa yokusabela; ke ingxelo charged_sats.
503Iifoto zangaphambili zithunyelwe ngoku (media_hosting_unavailable). b64_json Ukusebenza ngoku.

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);

Ukubhalisa Images

Ukuguqulwa kwicandelo esithunyelwe, emva kokufunda. Oku yi-OpenAI editing endpoint, ngoko i-OpenAI SDKs ' images.edit isebenza njengoko. I-Pro generators kuphela edit ekubeni kwi-model list uyavuma.

POST https://nymbot.ai/api/v1/images/edits — kufuneka i-API key, okanye I-Lightning Payment ngexesha lokuphendulaI-body ye multipart/form-dataNgaphezulu kwe-32 MB

UkucaciswaUhloboUkucingaUkucaciswa
imageIifayileEweIifoto ezijoliswe: PNG, JPEG, WebP okanye GIF, ukuya kwi-20 MB. Kwakhona ifumaneka njengoko image[]Iingxenye yokuqala isetyenziswa.
promptUkucingaEweYintoni ukuguqulwa.
modelUkucingaEweGenerator nge edit.
nUkucingaNgaba1 ukuba 4.
size
aspect_ratio
quality
negative_prompt
output_format
UkucingaNgabaNgokutsho kwexesha.
response_formatUkucingaNgaba"b64_json" (i-default apha) okanye "url".

Umbala wabelane ukuba i-PNG, i-JPEG, i-WebP okanye i-GIF efanelekileyo, ifakwe njenge-type yayo yayo yayo, kwaye ifakwe kwi-host ye-Blossom, njengoko i-generators zithunyelwe kwi-input yayo nge-link. Qhagamshelane njenge-publish. Ukuba ukuguqulwa kunokwenzeka kwaye akukho ukutyelela, i-copy ye-host ifakwe kwakhona. I-response inesiseko efanayo kunye ne-generator. I-price yi-price ye-generator, apho kwi-generator ezininzi kuquka i-cost ye-input image.

Qhagamshelana

{
  "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 }
}
UmgangathoNgaba
400akukho umfanekiso okanye ifomu, ifayile okuyinto ayikho umfanekiso (invalid_image), okanye i-generator enokukwazi ukuyifaka (edit_unsupported).
413Iifoto ezingaphezu kwama-20 MB (file_too_large), okanye isicelo epheleleyo ngaphezu kwe-32 MB.
503Inkcazo yokubhalisa (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"));

Ividiyo

Ividiyo ivame imizuzu, ngoko kuqhutywa kwi-background. Uyazi, ufumane id ngokuzenzakalelayo, kwaye uqhagamshelane malunga ne-id ngexesha lokugqibela. Zonke i-video generator ivame i-pro balance.

POST https://nymbot.ai/api/v1/videos — kufuneka i-API key, okanye I-Lightning Payment ngexesha lokuphendulaUkuguqulwa 202.

UkucaciswaUhloboUkucingaUkucaciswa
modelUkucingaEweI-ID ye-video generator ukusuka GET /api/v1/models?type=video, njengoko veo.
promptUkucingaEweYintoni kufuneka.
durationinombolo okanye stringNgabaUbude kwiiveki, ngaphezu kwe-0 kwaye ukuya kwi-60. Isetyenziswa kuphela yi-generators enikezela ukhethe ubude; omnye bafumane ubude wayo ebonakalayo, nto leyo seconds kwisibhozo kunye nexabiso ezilandelayo.
aspect_ratioUkucingaNgabaNjengoko "16:9" okanye "9:16"; ubungakanani efana "1280x720" Yintoni iingxaki zangaphakathi.
resolution
quality
UkucingaNgabaEnye ye-generator resolutions kwi-model list, njenge "720p" okanye "1080p". Yenza ixabiso. Yonke into eyahlukileyo unsupported_resolution.
image_urlUkucingaNgabaUmbala ukuqala nge: a https:// link okanye a data:image/… I-URL, eyayithunyelwa kwi-host ye-Blossom ye-publish yokuqala. Izixhobo ze-generators ze-Blossom requires_image_url.

Ixabiso ifakwe xa ufake, ukusuka kwigenerator, ukwahlukanisa kunye nexabiso, ngoko kuxhaswa kwi-pro balance yakho ngexesha lokufumana umsebenzi, kwaye ibonisa njengoko cost, estimated_cost kwaye nymbot. Ukuba umthengisi uxhumane umsebenzi, akukho nto ifakwe. Ukuba umthengisi isaphulelo emva, okanye ifakwe i-clip ekugqibeleni kwaye umthengisi awukwazi ukufumana, umthengisi iyafumaneka ngexesha elinye, ngokuzenzekelayo. Umthengisi ebandayo emva kweehora uxhumane, kwaye uxhumane umthengisi yayo, ngenxa yokuba umthengisi uxhumane umthengisi xa uxhumane. Umthengisi uxhumane iimali kodwa ayikho ukunciphisa i-check yentlawulo.

Ukuphendula (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 Ukuqala like in_progressokanye completed Xa ividiyo yam data Xa generator wafumana ngokuzenzekelayo.

Qhagamshelana nge-video

GET https://nymbot.ai/api/v1/videos/{id} - kufuneka i-key ebangeni ye-nym enikezela. I-key ebangeni i-cap inokukwazi ukuyifaka.

Ukuphendula 202 Xa ividiyo ifumaneka kwaye 200 emva kokugqibela okanye kwangaphambili. Qhagamshelana ngalinye iiyure ze-5 ukuya kwiiyure ze-10. Yonke i-check ibhagamshelana ngexesha elinye kunye ne-response ngexesha elinye; akukwazi ukufikelela kwividiyo. I-job ifumaneka kwiiyure ze-24 emva kokufikelela. GET /api/v1/videos ifumaneka i-50 iimpahla ezidlulileyo ze-key njengoko {"object": "list", "data": […]}.

Ukuphendula (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 Yintoni in_progress, completed okanye failedI-A Failed Job Carries error ({"code": "generation_failed", "message": …}ii) Ukuba ifumaneka, cost i-0 kunye nymbot Ukucinga refunded_credits kwaye refunded_satsIvidiyo epheleleyo ifumaneka kwi-Blossom ye-host, njengeifoto ezisekelwe.

UmgangathoNgaba
400Ingxelo yokuzonwabisa; ixesha ngaphandle 0 ukuya 60 (invalid_value); isisombululo se-generator ayikho (unsupported_resolution); akukho umfanekiso ye-generator ebonakalayo (image_required); isampuli esikho yi-video generator (invalid_model).
402I-Pro Balance ayikwazi ukucacisa ividiyo.
404Yintoni iimveliso ezininzi (model_not_found), okanye akukho umsebenzi ngeli id yakho ye-nym, okanye iiyure engaphezulu kwe-24 (video_not_found).
429I-Your nym xa ine-10 iividiyo ze- rendering (video_jobs_limit). Qhagamshelane kunye neengxaki ezininzi xa i-one finishes.
502I-generator yasikwazi umsebenzi. Akukho ingxelo ngaphandle kwe-provider ifayile.
503Iividiyo ayikwazi ukudlala okanye ukugcina ngoku (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);

Umzekelo we-Speech

Ukukhusela umbhalo ngqo kwaye ivumela ifayile ye-audio ngokufanayo, ayikho ikhonkco. Kuyinto i-OpenAI's speech endpoint, ngoko audio.speech.create kwi-OpenAI SDKs isebenza.

POST https://nymbot.ai/api/v1/audio/speech — kufuneka i-API key, okanye I-Lightning Payment ngexesha lokuphendula.

UkucaciswaUhloboUkucingaUkucaciswa
modelUkucingaNgabaUmzekelo we-Speech Model Iimveliso ze-audio. Default: isisombululo esisodwa, @cf/myshell-ai/melotts. aura-2 Yintoni i-Deepgram Aura 2
inputUkucingaEweI-text yokufunda: ukuya kwi-800 iimpawu ye-voice ye-standard, i-2000 ye-Aura 2.
voiceUkucingaNgabaI-Voice ID ye Uluhlu lweVoices: i-aura speaker njenge luna (Ukuba aura-2-luna-en), okanye iilwimi yeMeloTTS (en, es, fr, zh). OpenAI iimveliso ze-voice ezifana alloy ifumaneka kwaye inikeza i-voice default ye-model.
languageUkucingaNgabaI-code ye-language efana ne- esNgaphandle kwe-voice, ithetha i-voice ye-ulwimi. I-voice eyenza i-ulwimi ye-ulwimi 422 voice_language_mismatch, kwaye ulwimi ukuba isampuli ayikho umzobo 422 unsupported_language.
response_formatUkucingaNgabaI-Standard Voice ifumaneka mp3 I-Aura 2 yokufika mp3 (Wagqibela ukuhlaziywa) opus, aac, flac, wav okanye pcm.
speedInomboloNgabaUkusetyenziswa kunye nokugqiba.

I-voice ye-standard iindleko i-flat 3 credit ye-standard (30 sats) ye-request, njengoko kwi-app. I-Aura 2 yi-Pro, i-priced yi-characters eyenza. I-response body yi-audio, kunye ne-matching Content-Type• Iindleko ziquka kwi X-Nymbot-Cost-Sats i-header. Ukuba i-model ye-speech ibonakaliswa, akukho ukuxhaswa.

Qhagamshelana

HTTP/1.1 200 OK
Content-Type: audio/mpeg
X-Nymbot-Cost-Sats: 4.2
X-Nymbot-Balance-Sats: 41055.6

(audio bytes)
UmgangathoNgaba
400akukho ingxelo; ingxelo engaphezulu kwimodeli (input_too_long); i-format i-model enokukwazi ukuvelisa (unsupported_response_format); isisombululo esaziwayo (invalid_voice); umzekelo esikhoyo umzekelo (invalid_model).
422I-voice ayikwazanga ulwimi elidlulileyo, okanye i-model ayikwazanga.
502Umzekelo umzekelo umzekelo umzekelo umzekelo umzekelo umzekelo umzekelo umzekelo umzekelo umzekelo umzekelo.

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()));

Iimodeli ze-audio kunye ne-voices

Iilwimi ezimbini zokusetyenziselwa ukhethe iimodeli ye-speech kunye ne-voice, okanye iimodeli ye-transcription. Kukho i-41 i-Aura 2 i-English speakers kunye ne-4 iilwimi ze-MeloTTS.

GET https://nymbot.ai/api/v1/audio/models - Akukho key ebonakalayo.

GET https://nymbot.ai/api/v1/audio/voices?language=en - Akukho key ebonakalayo.

UkucaciswaUhloboUkucingaUkucaciswa
languageumnikelo (Query)NgabaIimpawu kuphela kwiilwimi leyo.
modelumnikelo (Query)NgabaIimpawu kuphela kwi-model.

Ukuphendula (izixazululo)

{
  "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 }
  ]
}

I-Models List Iimpendulo {"object": "list", "data": {"tts": […], "stt": […]}}. Yonke imodeli yokuzonwabisa inikeza ubunzima yayo, ixabiso, max_input_chars, response_formats, languages kwaye default_voiceI-transcription model inikeza i-aliases zayo, max_file_bytes, max_seconds, iintlobo kunye nexabiso ngenyanga.

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);

Ukusabela kwi-text

Ukuguqulwa kwe-record kwi-text nge-Whisper. Yinto i-transcription endpoint ye-OpenAI, ngoko ke audio.transcriptions.create Ukusebenza

POST https://nymbot.ai/api/v1/audio/transcriptions — kufuneka i-API key, okanye I-Lightning Payment ngexesha lokuphendulaI-body ye multipart/form-data.

UkucaciswaUhloboUkucingaUkucaciswa
fileIifayileEweUkubhalisa, ukusuka ku-25 MB ukuya ku-30 imizuzu: i-WAV, i-WebM, i-MP4 okanye i-M4A, i-Ogg okanye i-Opus, i-MP3 kunye nezinye iifomati ze-Whisper.
modelUkucingaNgabaUkucinga whisper, nto leyo Whisper Large v3 Turbo. whisper-1, whisper-large-v3-turbo kwaye @cf/openai/whisper-large-v3-turbo Yintoni into efanayo.
languageUkucingaNgabaIilwimi ezidlulileyo, njenge enUkukhangisa ukuba ushiye.
promptUkucingaNgabaIingoma okanye iingoma ezininzi, njengeengama. Khetha kuphela iiyure ezimbini ezimbini ezidlulileyo.
response_formatUkucingaNgabajson (Wagqibela ukuhlaziywa) text, srt, vtt okanye verbose_json.

Kuba iifayile ze-WAV, WebM, MP4 kunye ne-Ogg, ubude lithunyelwe kwiifayile ngaphambi kokuhamba, ngoko umxokozelo obungaphezulu kwe-30 imizuzu igcinwa kwi-front (ngaphandle kwe-3 imizuzuzu). Ubude weifayile we-WAV lithunyelwe kwi-sampling rate, ama-channels kunye ne-sampling size. Ubude kwiifomati ezininzi, njenge-MP3, ayikwazi ukufumana kwi-front, ngoko zithunyelwe kwi-size: kwi-bitrate engaphansi ye-Nymbot ibonisa, i-8 kbps, i-30 imizuzu yi-1.8 MB, kwaye ifayile elikhulu kwiifomati efanayo lithunyelwe nge-Nymbot 413 audio_too_long ngaphambi kokusebenza nawo. Wabelane iingcingo ezininzi ezifana ne-WAV, i-WebM, i-MP4 okanye i-Ogg. Ukuba i-Whisper ibonisa iiyure ezininzi angaphezu kwama-30 nangoko, isicelo esithathwe 413 audio_too_long, kwaye kuba Whisper waya, iiyure ze-30 ziquka.

Uya kunikeza ubude ye-audio, ekugqibeleni ukuya kwi-second: ubude obude obude ukusuka kwifayile, ubude Whisper iinkcukacha, kwaye ubude obuninzi le ifayile ivumela, ngexabiso per-minute ye-Whisper kunye neentlawulo kunye ne-margin, kwaye ubuncinane 0.05 credit isicelo. It ibhaliswa kwi-balance esisodwa xa oku kunokufumana i-hold, kwaye kwi-Pro ngexabiso; 402 inikeza into efunyenwe ngalinye. Kwi-app, ukuhanjiswa kweengxelo ze-voice kunokwenzeka; kwi-API kuxhaswa ngokuzenzekelayo. Ukuba i-Whisper ibonakaliswa, akukho ukuhanjiswa.

Qhagamshelana

{
  "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 Ukuguqulwa kwexesha eluhlaza, srt kwaye vtt Back subtitles, kunye verbose_json Ukongeza iilwimi, ixesha kunye neengxaki ze-time. Kwiimeko ezimbini ezikhoyo ze-JSON, i-cost ifumaneka kwi-header.

UmgangathoNgaba
400akukho ifayile, ifayile ngaphandle kokusetyenziswa kwe-audio (invalid_audio), i-format ebonakalayo, okanye i-model ebonakalayo ye-transcription model (invalid_model).
402Kwakhona i-balance ayikwazi ukucacisa.
413ifayile engaphezulu kwe-25 MB (file_too_large) okanye iingcingo engaphezulu kwama-30 imizuzu, okanye, kwi-format ebonakalayo engaphezulu kwe-front, engaphezulu kwe-1.8 MB (audio_too_long).
502I-Whisper ayikwazi ukuvelisa i-audio. Akukho ukulayishwa.

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);

Ukulungiselela umxholo ku-English

POST https://nymbot.ai/api/v1/audio/translations — kufuneka i-API key, okanye I-Lightning Payment ngexesha lokuphendulaI-body ye multipart/form-data.

I-transcription efanayo, kunye nemimeko efanayo ngaphandle language, amaxabiso kunye nexabiso, kodwa le nqaku lithunyelwe kwi-English kungekho ulwimi olusetyenziswa. I-OpenAI SDK ibizwa ngokuba 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);

Ukucinga

Ukuguqulwa kwe-text kwi-vectors yokufunda, ukuxhaswa kunye ne-deduplication. Iimodeli ezisebenza kwi-Cloudflare kwaye zithumela i-balance ye-standard.

POST https://nymbot.ai/api/v1/embeddings — kufuneka i-API key, okanye I-Lightning Payment ngexesha lokuphendula.

UkucaciswaUhloboUkucingaUkucaciswa
modelUkucingaEweIimodeli ezibonakalayo ze GET /api/v1/models?type=embedding.
inputstring okanye array of stringsEweIingxelo ze-text zihlanganisa, ukuya kwi-100 iingxelo ze-non-empty. Iingxelo ze-token zihlanganiswa (token_input_unsupported). Yonke inguqulelo kufuneka ifumaneke iimodeli context_length, iqhathaniswa njengama-byte engama-4 i-token.
encoding_formatUkucingaNgabafloat (i-default) okanye base64 (I-Little-endian ye-32-bit floats)
dimensionsUkucingaNgabaubungakanani we-model, okanye ukuba i-model kunye supported_dimensions Yintoni; i-vector yaye i-shortened kunye ne-normalized. Yonke into elinye i-refused.
UkucingaUbukhuluUmgangatho
@cf/baai/bge-m31024 kwiilwimi ezininziIiyure ze-8192
@cf/qwen/qwen3-embedding-0.6b1024 kwiilwimi ezininziIiyure ze-8192
@cf/baai/bge-large-en-v1.51024, IsiNgesi512 iimveliso
@cf/baai/bge-base-en-v1.5768, IsiNgesi512 iimveliso
@cf/baai/bge-small-en-v1.5384, IsiNgesi512 iimveliso

Uluhlu lwezimveliso lithunyelwe ukuba ziyafumaneka kunye nexabiso; I-Google's EmbeddingGemma, kunye ne-vectors ezincinane ngexabiso, ifumaneka apho nangona i-catalogue inexabiso. I-embeddings ifumaneka ngexabiso ye-input token, kwaye i-0.05 ye-credit ye-minimum ifumaneka ngexabiso ngalinye, ayikho ngexabiso ngexabiso ngexabiso ngexabiso ngexabiso ngexabiso ngexabiso ngexabiso ngexabiso.

Qhagamshelana

{
  "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 }
}
UmgangathoNgaba
400Iingxaki zangaphakathi zangaphakathi zangaphakathi zangaphakathi (token_input_unsupported); ngaphezu kwe-100 ingxube (too_many_inputs); ingxelo elide kunyango (input_too_long); ubungakanani a model ayikho (unsupported_dimensions).
402I-standard isilinganiselo ingaphantsi kakhulu. I-embeddings ayisebenzisa i-Pro isilinganiselo.
404Akukho iimveliso zokusetyenziswa kwegama leyo.
502Umzekelo umzekelo umzekelo umzekelo umzekelo umzekelo umzekelo umzekelo.

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);