Fa'ase'e i le anotusi
Toe foi i Nymbot

Fa'avae poto Atia'i Fausiaina

Ata, leo ma embeddings

O ie generators mai le app, ma faitotoʻaga mo le sailia: ata, ataata, tautala, tusitusiga ma embeddings, o le a totogiina le lava taimi mai lau totogi.

Fausia o ata

Na faia se tasi i le to'a e fa'aliliaga ata mai se fa'atonuga ma toe fa'afo'i mai ia pe a uma ona latou ua'i. O le lava e tutusa lelei o ukilau fa'aleo e pei o ?image i totonu o le polokalame.

POST https://nymbot.ai/api/v1/images/generations — e manaʻomia se API key, pe aoleoleo se totogi Lightning mo le talosaga taatasi.

O lo'o sau mai le GET /api/v1/models?type=image. O le masini fa'atupu masani, @cf/black-forest-labs/flux-1-schnell, e tau 5 standard credits (50 sats) i le ata ta'itasi. O isi upega fa'atausi fa'atausi e fa'aalu ai Pro credits i lona tau lava ia, fa'atasi ma le totogi masani ma le margin, e pei o le le polokalame. n tau o ata n i le tele fa'apea lena taimi. O se vaega e le fa'aaogā e se generator, e aveese lava nai lo le teena; o le generator masani e fa'aaogā na'o le fa'atonuga.

EleeleTusiManaomiaFa'amatalaga
modelfa'asologaIoeO se ID o se masini faia mea, e pei o le nano-banana.
promptfa'asologaIoeO le a suʻa faʻatausi. Naʻo le 2,000 o fuafuaga muamua e faʻaaogāina.
nnumera atoatoaLeai1 i le 4. Masani 1. E talia fo'i pei o num_images.
sizefa'asologaLeaiSe itū o le fa'aeteete e pei o le "16:9", pe se tele o le OpenAI e pei o "1792x1024", lea e avea ma le pito sili ona vavalalata i le 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9, 5:4 ma le 4:5. "auto" tuuina atu i le masini faia mea.
aspect_ratiofa'asologaLeaiE tutusa ma size, ma e manumalo pe afai e lafo uma e lua.
qualityfa'asologaLeaiFaapitoa i le masini faitau, e pei o le "low", "medium" poʻo "high".
negative_promptfa'asologaLeaiO le ā e tatau ona tu'ua.
output_formatfa'asologaLeai"png", "jpeg" poʻo "webp".
response_formatfa'asologaLeai"url" (le masani) pe "b64_json".
image_urlfa'asologaLeaiO se ata e amata ai: se https:// so'o e lona lua e sili atu i le 4,096 fa'amau e aunoa ma se igoa o le tagata fa'aaoga po'o se upu fa'ailoga i ai, po'o se data:image/…;base64 URL (PNG, JPEG, WebP po o GIF; e le o SVG). Na'o mo generator o lo'o iai edit; manaomia e i latou o lo'o ia requires_image_url.

resolution e lē fa'aaogāina: o masini ta'itasi e faia lona lava tele. Ma url, o le ata ta'itasi e tu'uina i se Blossom host o lo'o mafai e tagata uma ona vaai i ai ma maua lona sootaga (o nisi o masini faitauina na'o i latou lava e foai atu se sootaga, lea e lafo atu atu). O so'o se tasi o lo'o iai le sootaga e mafai ona tatalaina ma e lē mafai ona aveese; va'ai O ā mea e mafai ona va'ai i ai e le API. Ma b64_json o le ata e toe sau i le tali ma e lē uma lava le tu'uina atu. O se ata na lafoina e pei o se data: URL i to'otia image_url e siakiina i le lava lava tulaga fa'apenei i se Faatonutonu ma tu'uina atu muamua i Blossom ina ia mafai ai e le generator ona maua; toe tapeina lea pe afai e le manuia le talosaga e aunoa ma se totogi.

Afai o nisi o le n ua leaga ata, ua maua na ata na manuia, e totogi na o ia (fa'atasi ai ma so'o se mea na totogi e le pulega e ui ina le manuia), ma nymbot.failed fa'apefea ona fa'ailoa ia malaga i le fua o mea ua leai. Afai e le manuia uma, o le talosaga e toe fo'i mai 502.

Aiga

{
  "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 }
}
TulagaAfea
400Leai se fa'atonuga; n ese 1 i le 4 (invalid_value); se lava tele tele (invalid_size) pe ata (invalid_image, invalid_image_url); se faʻataʻitaʻiga o loʻo iai ae e lē o se masini fatu ata (invalid_model); ata mo se mea e faia ai mea (e lē mafai ona suia (edit_unsupported); leai se ata mo se tasi e mana'omia ai (image_required).
402E le mafai ona fa'aola le totogi mo so'o se ata na talosaga mai ai.
404E leai se modele i lea itu igoa (model_not_found).
502Na le mafai le masini faia mea (upstream_error). E leai se mea e totogiina pe a le fa'asaoina e le lautele le taumafaiga; pe afai ua fa'asaoina, o le mea lea ua i ai le mea sese charged_sats.
503E le mafai ona teuina ata i le taimi nei (media_hosting_unavailable). b64_json toe galue pea.

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

Faaleleia ata

Suia se ata ua e tu'uina mai, e tusa ai ma se fa'atonuga. O lenei o le edit endpoint a OpenAI, o lea o le OpenAI SDKs' images.edit galue pe a iai. Na'o generators Pro ua iai edit i le lisi o modele faamaonia le mea lea.

POST https://nymbot.ai/api/v1/images/edits — e manaʻomia se API key, pe aoleoleo se totogi Lightning mo le talosaga taatasiO le tino o le multipart/form-data, e oo i le 32 MB.

EleeleTusiManaomiaFa'amatalaga
imagefailaIoeO le ata e toe faaleleia: PNG, JPEG, WebP po o GIF, e oo i le 20 MB. E talia foi pei o le image[]; o le mea muamua ua fa'aaogāina.
promptfa'asologaIoeO ā mea e tatau ona suia.
modelfa'asologaIoeO se masini faitau ma edit.
nnumera atoatoaLeai1 i le 4.
size
aspect_ratio
quality
negative_prompt
output_format
fa'asologaLeaiE uiga i le tupuaga.
response_formatfa'asologaLeai"b64_json" (le tulaga masani iinei) po o "url".

O le ata o lo'o e tu'uina mai o loo siakiina ina ia mautinoa o se PNG, JPEG, WebP po'o se GIF e sa'o le fausiaina, ua lafoina i lona ituaiga moni, ma ua tu'uina i se Blossom host lautele, ona o le mauaina o fa'amatalaga e o lo'o fa'aaogaina e le masini i ala o so'otaga. Fa'aata i le mea o se mea lautele. Afai e le manuia le suiga ma e leai se totogi, o le kopi o lo'o i luga o le initaneti o le a tapeina foi. O le tali e tutusa lona tulaga ma le faiga o le uiga fa'atupuina. O le tau o le fa'aaogaina o le tau o le masini fa'atupuina, lea e aofia ai se totogi mo le ata o lo'o fa'aaogaina mo nisi masini.

Aiga

{
  "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 }
}
TulagaAfea
400Leai se ata po o se faatonuga, o se faila e lē o se ata (invalid_image), po o se generator e lē mafai ona suia (edit_unsupported).
413O le ata e sili atu i le 20 MB (file_too_large), pe o le polofesa atoa e sili atu i le 32 MB.
503E lē mafai ona fa'asaoina le ata i le taimi nei (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"));

Vitio

E ave ni minute mo se vitio, o lea e taugata i tua. E te tuuina atu, maua se id vave lava, ma fai fesili e uiga i le id se'ia o'o ina mae'a. O au generator vitio uma e fa'aalu le totogi Pro.

POST https://nymbot.ai/api/v1/videos — e manaʻomia se API key, pe aoleoleo se totogi Lightning mo le talosaga taatasi. Toe fo'i mai 202.

EleeleTusiManaomiaFa'amatalaga
modelfa'asologaIoeO se ID o le masini faitau vitio mai GET /api/v1/models?type=video, e pei o veo.
promptfa'asologaIoeO le ā le mea e tatau ona tupu.
durationnumera po o se fa'asologa o tusitusigaLeaiLauaina i sekone, e sili atu i le 0 ma e o'o i le 60. E fa'aaogā na'o generators o lo'o fa'atagaina oe e filifili le umi; o isi e faia la latou umi masani, o le a apa? seconds i le tali ma mulimuli mai le tau.
aspect_ratiofa'asologaLeaiE pei o "16:9" poʻo "9:16"; se laasaga e pei o "1280x720" o le avea ai ma le fuafuaga sili ona vavalalata.
resolution
quality
fa'asologaLeaiO se tasi o nei generator's resolutions i totoe o le lisi o ata, e pei o le "720p" poʻo "1080p". E fa'atulaga ai le tau. E lē taliaina so'o se isi mea ma unsupported_resolution.
image_urlfa'asologaLeaiO se ata e amata ai: se https:// so'otaga po'o se data:image/… URL, lea e tuuina i luga i se Blossom host lautele muamua. Manaomia e generators ma requires_image_url.

O le tau e fa'atali lava pe a e tu'uina atu, mai le masini fa'agaioia, le tulaga manino ma le umi, o lea e fa'asaoina mai lau tupe Pro pe a talia lava le galuega e le tu'uina atu, ma fa'aalia e pei o le cost, estimated_cost ma nymbotAfai e lē taliaina e le auaunaga le galuega, e lē totogi se mea lava. Afai e le manuia le render mulimuli ane, pe le mafai ona teu le vaega ua mae'a, ma le auaunaga e lē totogiina, o le totogi o le toe fo'i mai lea fa'apitoa ma le otometi. O se render o lo'o fa'aauau pea pe a uma le tasi lava le itula, e taofi, ma tumau lona totogi, auā e totogi e le auaunaga le render lava lena ua latou taliaina. O le toe fo'i mai o tupe (refund) e toe fo'i mai ai tupe (credits) ae e lē fa'aitiitia ai le numera o tupe ua fa'aalu a le 'key'.

Tali (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 amata a o le in_progress, pe completed ma le vitio ua uma ona i ai data pe a toe fo'i mai le generator vave lava.

O lo'o siakiina se vitio

GET https://nymbot.ai/api/v1/videos/{id} — e manaʻomia se ki e aofia ai le nym na tuʻuina atu. O se ki ua uma ona oʻo i lona tapulaʻa e mafai lava ona siaki.

E tali mai ia 202 i lava o loo fai le vitio ma 200 pe a uma ona mae'a pe ua le manuia. Fesili i taimi 5 i le 10 sekone ta'itasi. O le su'esu'ega ta'itasi e fesili i le pulega e tasi ma tali fa'atasi; e le fa'atali lava mo le vitio. O le galuega e teuina mo le 24 patu pe a uma ona tu'uina atu. GET /api/v1/videos fa'aali atu galuega e 50 mulimuli a le toe maimoa i le lisi e pei o {"object": "list", "data": […]}.

Aiga (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 lo'o in_progress, completed poʻo failed. A o se galuega ua le manuia e aveina ai error ({"code": "generation_failed", "message": …}); afai na toe foi atu le tupe, cost pe o 0 ma nymbot fa'aopoopo refunded_credits ma refunded_satsO le vitiō ua mae'a o lo'o i luga o se Blossom host lautele, pei o ata na fa'aleleia.

TulagaAfea
400Leai se faatonuga; o se vaitau i fafo mai le 0 i le 60 (invalid_value); se faaiuga e le ofoina mai e le uoʻono (unsupported_resolution); e leai se ata mo se generator o loo manaomia se tasi (image_required); se faʻataʻitaʻiga e lē o se mea faia ata vitio (invalid_model).
402E le mafai ona ufitia e le Pro balance le vitio.
404Leai se generator (model_not_found), po o le leai se galuega i lenā id mo lau nym, po o le sili atu i le 24 itula anamua (video_not_found).
429O lau nym ua uma ona iai ni vitio e 10 o lo'o fa'atinoina (video_jobs_limit). Siaki i latou ma lafo mai nisi pe a mae'a se tasi.
502Na teena e le masini le galuega. E leai se mea e totogiina seiti a ua fa'afo'i e le auaunaga se pili mo lena mea.
503E lē mafai ona lafoina pe teuina vitio i le taimi nei (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);

Fa'aliliu o tusitusiga i le leo

Faitauina le tusitusiga i le leo ma toe fo'i mai ai le faila fa'alogo lava ia, lē o se sootaga. O le endpoint o le leo a OpenAI lea, o lea audio.speech.create i totonu o faiga o OpenAI SDKs e galue ai.

POST https://nymbot.ai/api/v1/audio/speech — e manaʻomia se API key, pe aoleoleo se totogi Lightning mo le talosaga taatasi.

EleeleTusiManaomiaFa'amatalaga
modelfa'asologaLeaiSe faʻataʻitaʻiga o se lauga mai le lisi o ata fa'alogo. Fa'avae: le leo masani, @cf/myshell-ai/melotts. aura-2 pe o Deepgram Aura 2.
inputfa'asologaIoeO le tusitusiga e faitauina: e o'o i le 800 o fa'ailoga mo le leo masani, le 2,000 mo le Aura 2.
voicefa'asologaLeaiO se faasinomaga o le leo mai le lisi o leo: se masini fa'alogo Aura pei o luna (poʻo aura-2-luna-en), pe se gagana MeloTTS (en, es, fr, zh). Igoa leo a OpenAI e pei o alloy e talia ma aumai ai le leo masani a le polokalame.
languagefa'asologaLeaiO se fa'ailoga o le gagana e pei o le es. E aunoa ma se leo, e filifili lava e ia se tasi mo lea gagana. O se leo e tautala i se isi gagana e toe fo'i mai 422 voice_language_mismatch, ma se gagana e leai se leo i ai le polokalame 422 unsupported_language.
response_formatfa'asologaLeaiUa toe fo'i mai le leo masani mp3 na'o le mea lea. Aura 2 toe fo'i mai mp3 (le masani ai), opus, aac, flac, wav poʻo pcm.
speednumeraLeaiFa'amaonia ma fa'aseseina.

O le leo masani e tau le 3 kredit masani (30 sats) mo le talosaga tasi, e pei ona i ai i le polokalame. O le Aura 2 o le Pro, e fa'atatau le tau i fa'ailoga e te lafoina. O le vaega o le tali o le leo, ma se fetaui Content-Type; o le tau o loʻo i le X-Nymbot-Cost-Sats ulutau. Afai e le manuia le taʻiala o le tautala, e lē totogiina se mea.

Aiga

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

(audio bytes)
TulagaAfea
400Leai se mea na tu'uina atu; o le mea na tu'uina atu e sili atu i le faatapulaaiga o le model (input_too_long); o se faiga e le mafai ona maua e le modele (unsupported_response_format); se leo e lē iloa (invalid_voice); se faataitaiga e lē o se faataitaiga o le tautala (invalid_model).
422E le tautala le leo i le gagana ua tuuina atu, pe ua leai se leo mo lena faʻataʻitaʻiga.
502Na le manuia le faiga o le upu. E leai se mea ua totogiina.

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

Faʻataʻitaʻiga o leo ma leo

O ni lisi lautele e lua mo le filifilia o se tautala fa'ata\"ita'iga ma se leo, po o se tautala fa'aliliuina o le leo. E iai le 41 Aura 2 English speakers ma ni fa'aliliuga e 4 o le MeloTTS.

GET https://nymbot.ai/api/v1/audio/models — e le mana'omia se ki.

GET https://nymbot.ai/api/v1/audio/voices?language=en — e le mana'omia se ki.

EleeleTusiManaomiaFa'amatalaga
languagefa'asologa (fesili)LeaiNa'o leo mo lenei gagana.
modelfa'asologa (fesili)LeaiNa'o leo mo lenei tautua.

Fa'atosina (leo)

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

O tali o le lisi o modeleina {"object": "list", "data": {"tts": […], "stt": […]}}O le masina o le tautala taatasi e tuuina atu lona fetuutuiga, tau, max_input_chars, response_formats, languages ma default_voice; o le tapenaina o le tautaga e tuuina atu ai ana igoa fa'aopoopo, max_file_bytes, max_seconds, faiga ma tau i le minute ta'itasi.

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

Leo i le tusitusiga

Faia se fa'aagaoioiga o se fa'aopopoiga i se tusitusiga i le Whisper. O le tulaga fa'agaioiga lea a OpenAI mo le tusiga, o lea audio.transcriptions.create galue.

POST https://nymbot.ai/api/v1/audio/transcriptions — e manaʻomia se API key, pe aoleoleo se totogi Lightning mo le talosaga taatasiO le tino o le multipart/form-data.

EleeleTusiManaomiaFa'amatalaga
filefailaIoeO le fa'aagaoioiga, mai le 256 bytes i le 25 MB ma le 30 minute: WAV, WebM, MP4 po o le M4A, Ogg po o le Opus, MP3 ma isi ituaiga o lo'o faitauina e le Whisper. O le MP3 ma isi ituaiga o lo'o leai se fa'ailoga o le umi o le fa'aagaoioiga e mafai ona faitau muamua, ua fa'atapula'a i le 1.8 MB.
modelfa'asologaLeaiTulaga Fa'avae whisper, o le Whisper Large v3 Turbo. whisper-1, whisper-large-v3-turbo ma @cf/openai/whisper-large-v3-turbo e tutusa le uiga.
languagefa'asologaLeaiO le gagana e tautala ai, e pei o enE iloa pe afai ua tuua ese.
promptfa'asologaLeaiUpu po'o ni fa'aputuupetu e fa'atali i ai, e pei o igoa. E na'o fa'ailoga muamua e 1,000 lava e fa'aaogāina.
response_formatfa'asologaLeaijson (le masani ai), text, srt, vtt poʻo verbose_json.

Mo failauga WAV, WebM, MP4 ma Ogg, o le umi e faitauina mai i le failauga a o leei lava se mea e amata, o lea o le fa'ataliina o se fa'aogāina e sili atu i le 30 minute i le amataga lava (ma se 3 sekunde fa'aopoopo). O le umi o se failauga WAV e maua mai i lona sample rate, au numera o lona leo (channels), ma lona sample size. O le umi o isi ituaiga, e pei o le MP3, e le mafai ona faitau i le amataga, o lea ua fa'atapula'a i le aofa'i o le tele: i le tulaga maualalo o le bitrate o lo'o manatu ai Nymbot, 8 kbps, o le 30 minute e 1.8 MB, ma o se failauga tele atu i lenei ituaiga e fa'ataliina ma 413 audio_too_long a o le a fa'ata\"ita'i i se mea lava e te'i mua (\"runs\"). Auina atu ni fa\"ata\"ita'iga umi atu i le tulaga o WAV, WebM, MP4 po\"o le Ogg. Afai o le a fa\"ailoa e le Whisper e sili atu i le 30 minute, o le a lē taliaina le talosaga ma o le a fa\"ape\"a: 413 audio_too_long, ma ona ua galue Whisper, e totogi le 30 minute.

E totogi oe mo le umi o le leo, e fa'atupula'ia i le sekone: le umi sili ona umi na faitauina mai i le failauga, le umi na tu'uina mai e Whisper, ma le tele itiiti lava e mafai ai e le umi o le failauga ona fai, i le tau a Whisper mo le minuta fa'atasi ma le totogi masani ma le margin, ma le aua ne'i itiiti atu i le 0.05 credit mo le talosaga uma. E totogi mai le tauvaga masani pe a mafai ona ufitia le tupe o lo'o taofi ai, ae pe a leai, e totogi mai le Pro; a 402 una fa'ailoa mai le mea e mana'omia i totonu o tupe fa'aumā. I le polokalame, e ono sa'oloto le tusia o se fe'au leo; i le API, e always charged. Afai e le manuia le Whisper, e leai se tupe e fa'asaoina.

Aiga

{
  "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 faitauina o le tusitusiga fa'afaigisei, srt ma vtt fa'afo'i subtitles, ma verbose_json fa'aopoopoina le gagana, le umi o le taimi ma vaega fa'atulaga i taimi. Mo isi e tolu e le o JSON, o lo'o i tala'ā (headers) le tau.

TulagaAfea
400Leai se failauga, o se failauga e leai se leo e faaaogā ai (invalid_audio), se ituaiga e le iloa, po o se tautua e le o se tautua tusitusia (invalid_model).
402E le mafai e so'o se tasi o tupe teuavale ona fuafua lea mea.
413O le faila e sili atu i le 25 MB (file_too_large) po o le fa'asologa e sili atu i le 30 mineti, po o se ituaiga e lē mafai ona faitauina le umi i le amataga, e sili atu i le 1.8 MB (audio_too_long).
502E le mafai e le Whisper ona faamatalaina le leo. E leai se mea e totogiina.

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

Faaliliuina o upu faalogo i le faa-Peretania

POST https://nymbot.ai/api/v1/audio/translations — e manaʻomia se API key, pe aoleoleo se totogi Lightning mo le talosaga taatasiO le tino o le multipart/form-data.

E tutusa ma le tusiga, ma faamanuiaga e tutusa peita'i nai lo language, faatapula'aga ma tau, ae o le tusitusiga e toe fo'i mai i le fa'aperetania po'o le gagana lava e tautala ai. O lo'o vala'auina e le OpenAI SDKs i le 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);

Fa'apipi'iga

Faia o tusitusiga i ni vekuta mo le sailia, faʻaputuputuina, ma le aveeseina o mea e tutusa. O loʻo faʻagaioia nei polokalame i luga o le Cloudflare ma faʻaaluina le totogi masani.

POST https://nymbot.ai/api/v1/embeddings — e manaʻomia se API key, pe aoleoleo se totogi Lightning mo le talosaga taatasi.

EleeleTusiManaomiaFa'amatalaga
modelfa'asologaIoeO se modele embedding mai GET /api/v1/models?type=embedding.
inputfa'atali po'o se fa'asologa o fa'ataliIoeO le tusitusiga e fa'apipi'i ai, e oo i le 100 fa'anusa e leai se mea e iai. E lē taliaina fa'anusa o tokeni (token_input_unsupported). O mea uma e fa'asua ina ia fetaui ma le modele's context_length, faitauina e tusa lea o le fa'atolu fa'atolu byte o se tasi le token.
encoding_formatfa'asologaLeaifloat (le masani) pe base64 (little-endian 32-bit floats).
dimensionsnumera atoatoaLeaiO le lava tele o le fuafuaga lava ia, poʻo mo se fuafuaga e iai supported_dimensions e tasi o ia; o le a faapuupuuina ona o le vector ona faasologa ai foi. O so'o se isi mea e teena.
FailaugaDimenisoniTulaga fa'atatau
@cf/baai/bge-m31024, tele lava gagana8,192 upu (tokens)
@cf/qwen/qwen3-embedding-0.6b1024, tele lava gagana8,192 upu (tokens)
@cf/baai/bge-large-en-v1.51024, fa'aetasi ma le fa'asaoa i le gagana Peretania512 upu
@cf/baai/bge-base-en-v1.5768, fa'aperetania512 upu
@cf/baai/bge-small-en-v1.5384, fa'a-Ingilisi512 upu

O le lisi o modele o le puna moni lea mo le iloa o mea ua avanoa ma le tau o i latou; o Google's EmbeddingGemma, ma ni vetoa pupu u pe a talosaga mai, o lo'o i ai fo'i iina pe a iai se tau i le katalogo. O Embeddings e faitauina e tusa ai ma le token ulutau, ma le 0.05-credit minimum e fa'aaoga i taumafaaga ta'itasi, ae le o taumafaaga ta'itasi, o le mea lea o le fa'atuanuina o ni tusitusiga tele i o se tasi taumafaiga e tasi e sili atu ona taugofie nai lo le auina atu o i latou tasi uma.

Aiga

{
  "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 }
}
TulagaAfea
400Leai se ipu i se mea e mamā; token arrays (token_input_unsupported); e sili atu i le 100 ipu (too_many_inputs); o se fa'amaumauga e sili atu lona umi i lo le tautala a le modele (input_too_long); se la'asaga e le mafai ona tuuina atu e le faataitaiga (unsupported_dimensions).
402E matua vaivai tele le tulaga tonu o le palangi. E lē fa'aaogāina lava e Embeddings le palangi Pro.
404E leai se modele embedding i lea suafa.
502Na le manuia le taulaga. E leai se mea ua totogiina.

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