Basis kawruh Pembangunan
Gambar, audio lan embeddings
Generator saka aplikasi, lan blok bangunan kanggo pencarian: gambar, video, pidato, transkripsi lan embeddings, saben dihitung saben nggunakake saka saldo.
Kaca iki diterjemahake mesin kanggo penak. Asli Inggris minangka versi sing ditrapake.
Generasi gambar
Nggunakake salah siji nganti empat gambar saka prompt lan ngirimake nalika iku selesai. ?image Ing app iku.
POST https://nymbot.ai/api/v1/images/generations — perlu kunci API, utawa Pembayaran Lightning kanggo permintaan.
Tiyang iku saka GET /api/v1/models?type=imageIng generator standar,
@cf/black-forest-labs/flux-1-schnell, biaya flat 5 kredit standar (50 sats) siji gambar. saben generator liyane nggunakake kredit Pro ing harga dhewe, karo biaya biasa lan margin, minangka ing Ing app. n Harga gambar
n A field a generator ora njaluk ditumpuk lan ora ditolak; generator standar nggunakake prompt mung.
| Field iku | Tiyang | Diperlukan | Deskripsi |
|---|---|---|---|
model | Ing string | ya wis | A generator id, kayata nano-banana. |
prompt | Ing string | ya wis | Apa kanggo njaluk. mung 2000 karakter pisanan digunakake. |
n | Ingkang | Ing | 1 kanggo 4. Default 1. uga dianggep minangka num_images. |
size | Ing string | Ing | Aspek-aspek sing disimpen minangka "16:9"Dheweke duwe ukuran lan ukuran sing kaya "1792x1024"Dheweke bakal dadi paling dekat saka 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9, 5:4 lan 4:5. "auto" Dheweke bakal nggunakake generator. |
aspect_ratio | Ing string | Ing | Ing padha minangka sizeDheweke bakal menang nalika kedhaftar ndadekake. |
quality | Ing string | Ing | Generator khusus, kayata "low", "medium" lan "high". |
negative_prompt | Ing string | Ing | Apa kang bakal nggawé. |
output_format | Ing string | Ing | "png", "jpeg" lan "webp". |
response_format | Ing string | Ing | "url" (Sampunipun dhumateng) utawa "b64_json". |
image_url | Ing string | Ing | A gambar kanggo dimulai saka: a https:// link luwih saka 4,096 karakter tanpa nama pangguna utawa password ing, utawa data:image/…;base64 URL (PNG, JPEG, WebP utawa GIF; ora SVG). editTiyang-tiyang ingkang dipungutaken kanthi requires_image_url. |
resolution ora digunakake: saben generator nggawe ukuran dhewe. url, saben gambar diunggah menyang host Blossom umum lan sampeyan njaluk tautan (beberapa generator mung ngirim tautan dhewe, sing ditransmisikake). Apa sing api bisa ndelengDheweke
b64_json ing respon lan ora diunggah. gambar dikirim minangka data: URL ing image_url Dheweke diprodhuksi kanthi cara sing padha
Tiyang lan ngunggah menyang Blossom pisanan supaya generator bisa njaluk; iku dihapus lagi yen perminta gagal dibukak.
Nalika sawetara saka n gambar gagal, sampeyan njaluk wong sing kerja, dibayarkan mung kanggo wong-wong (plus apa-apa penyedia dibayarkan malah gagal), lan nymbot.failed Ngandika sawetara sing mung. Yen kabeh gagal, permintaan ndadekake 502.
Jawaban
{
"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 }
}
| Statusipun | Nalika |
|---|---|
400 | Ngudhunaké lan ngudhunaké. n Ing ngisor 1 iki 4 (invalid_valueIng ngisor iki: (invalid_size) utawa gambar (invalid_image, invalid_image_url); model sing ana nanging ora minangka generator gambar (invalid_model); gambar kanggo generator sing ora bisa edit (edit_unsupported); ora gambar kanggo siji sing kudu iku (image_required). |
402 | Balance ora bisa mbukak kabeh gambar sing dibutuhake. |
404 | Ing ngisor iki iku (model_not_found). |
502 | Ing ngisor iki (upstream_errorIng ngisor iki, iku dadi salah siji saka unsur-unsur sing diwenehake. charged_sats. |
503 | Foto-foto ora bisa diwenehi (media_hosting_unavailable). b64_json Dheweke masih kerja. |
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);
Ngirim gambar
Ngganti gambar sing sampeyan ngunggah, sawise prompt. iki iku titik endpoint edit OpenAI, supaya OpenAI SDK's images.edit kerja minangka iku. Hanya Pro generator karo edit Ing model daftar njaluk iku.
POST https://nymbot.ai/api/v1/images/edits — perlu kunci API, utawa Pembayaran Lightning kanggo permintaanTubuh iku multipart/form-dataSampeyan bisa nganti 32 MB.
| Field iku | Tiyang | Diperlukan | Deskripsi |
|---|---|---|---|
image | file iku | ya wis | Gambar kanggo ngedit: PNG, JPEG, WebP utawa GIF, nganti 20 MB. image[]Tiyang pertama iku digunakake. |
prompt | Ing string | ya wis | Apa kang ngganti. |
model | Ing string | ya wis | Generator lan edit. |
n | Ingkang | Ing | 1 lan 4. |
sizeaspect_ratioqualitynegative_promptoutput_format | Ing string | Ing | Nanging ing generasi. |
response_format | Ing string | Ing | "b64_json" (Ing ngisor iki) utawa "url". |
Ing gambar sing ngunggah, njaluk minangka PNG, JPEG, WebP utawa GIF sing dibentuk kanthi apik, dikirim ing minangka tipe nyata, lan diwenehi host Blossom umum, amarga generator njaluk input kanthi link. Nglakoni minangka publik. Yen edit gagal lan ora ngeculake apa-apa, salinan host sing dihapus lagi. Jawaban duwe bentuk sing padha karo generator. Harga iku harga generator, sing kanggo sawetara generator kalebu biaya kanggo gambar input.
Jawaban
{
"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 }
}
| Statusipun | Nalika |
|---|---|
400 | Ora gambar utawa prompt, file sing ora gambar (invalid_image), utawa generator sing ora bisa edit (edit_unsupported). |
413 | Foto luwih saka 20 MB (file_too_large), utawa kabeh permintaan luwih saka 32 MB. |
503 | Foto iki ora bisa diwenehi (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"));
Video lan
Video njaluk menit, supaya njaluk ing latar belakang. Sampeyan ngirimake, njaluk id langsung, lan njaluk id nganti selesai. saben generator video nggunakake saldo Pro.
POST https://nymbot.ai/api/v1/videos — perlu kunci API, utawa Pembayaran Lightning kanggo permintaanKembali 202.
| Field iku | Tiyang | Diperlukan | Deskripsi |
|---|---|---|---|
model | Ing string | ya wis | A video generator id saka GET /api/v1/models?type=videoTiyang minangka veo. |
prompt | Ing string | ya wis | Apa kang kudu. |
duration | Nomer utawa string | Ing | Panjang ing detik, luwih saka 0 lan nganti 60. Digunakake mung dening generator sing ngidini sampeyan milih panjang; wong liyane nggawe panjang sing biasa, kang iku apa seconds ing respon lan harga iku iku. |
aspect_ratio | Ing string | Ing | Lan minangka "16:9" lan "9:16"Dheweke duwe ukuran kaya "1280x720" Dhèwèké dadi ratio paling dekat. |
resolutionquality | Ing string | Ing | Salah siji saka generator resolutions Ing bab model, minangka "720p" lan "1080p"Iki nyetel harga. apa-apa liyane ditolak karo unsupported_resolution. |
image_url | Ing string | Ing | A gambar kanggo dimulai saka: a https:// Link lan a data:image/… URL, sing diunggah menyang host umum Blossom. Diperlukan dening generator karo requires_image_url. |
Harga ditempatake nalika sampeyan ngirim, saka generator, resolusi lan panjang, supaya iku dibayarkan saka saldo Pro sawetara provider njaluk pekerjaan, lan ditampilake minangka
cost, estimated_cost lan nymbotIf the provider refuses the job, nothing is charged. If the rendering later fails, or the finished clip cannot be stored and the provider did not bill for it, the charge is refunded once, automatically. A rendering which is still going after an hour is given up, and keeps its charge, because the provider bills a render once it accepts it. A refund returns the credits but does not lower the key's spending count.
Tembung (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 Mulane minangka in_progressDheweke completed Ing video iki ana ing data Dheweke bakal nggunakake generator langsung.
Teka ing video
GET https://nymbot.ai/api/v1/videos/{id} - butuh kunci sing dadi milik nym sing ngirimake.
Jawaban iku 202 Nalika video iki digawe lan 200 sawisé iku selesai utawa wis gagal. Tanya saben 5 kanggo 10 detik. saben cek nglakoni penyedia siji lan ngjawab ing wektu; iku ora nglakoni kanggo video. Pekerjaan diwenehi kanggo 24 jam sawise iku dikirim.
GET /api/v1/videos Nulisake 50 karya-karya pungkasan saka kunci minangka
{"object": "list", "data": […]}.
Ing taun 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 Dheweke in_progress, completed lan failedPekerjaan sing gagal nglakoni error ({"code": "generation_failed", "message": …}Dheweke bakal diwenehi reward. cost Iki 0 lan nymbot Tambah
refunded_credits lan refunded_satsVideo selesai ana ing host Blossom umum, kaya gambar sing diprodhuksi.
| Statusipun | Nalika |
|---|---|
400 | Ing ngisor iki iku 0-60 (invalid_value); resolusi sing generator ora nuduhake (unsupported_resolution); ora gambar kanggo generator sing kudu siji (image_required); model sing ora minangka generator video (invalid_model). |
402 | Pro saldo ora bisa mbukak video. |
404 | Ing ngisor iki (model_not_found), utawa ora kerja dening id iki kanggo nym, utawa iku luwih saka 24 jam (video_not_found). |
429 | Ing ngisor iki ana 10 video rendering (video_jobs_limitCheck ing loro lan ngirim liyane nalika siji finishes. |
502 | Generator ditolak kerja. Apa-apa ora dibayarkan kecuali penyedia tagihan kanggo iku. |
503 | Video ora bisa dikirim utawa disimpen (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);
Teks kanggo pidato
Maca teks dhuwur lan ngirim file audio dhewe, ora link. audio.speech.create ing OpenAI SDKs nggunakake.
POST https://nymbot.ai/api/v1/audio/speech — perlu kunci API, utawa Pembayaran Lightning kanggo permintaan.
| Field iku | Tiyang | Diperlukan | Deskripsi |
|---|---|---|---|
model | Ing string | Ing | A model pidato saka Daftar model audioDefault: suara standar, @cf/myshell-ai/melotts. aura-2 Ing ngisor iki iku Deepgram Aura 2. |
input | Ing string | ya wis | Teks kanggo dibaca: nganti 800 karakter kanggo suara standar, 2000 kanggo Aura 2. |
voice | Ing string | Ing | A Voice ID saka Daftar suara: Aura speaker kayata luna (Ing aura-2-luna-enIng ngisor iki ana ing basa Arab (en, es, fr, zh). OpenAI nama suara kayata alloy iku disampa lan nyedhiyakake suara default model. |
language | Ing string | Ing | Kode bahasa minangka esTanpa suara, iku njaluk siji kanggo basa iki. Suara sing ngandika basa liyane mbukak 422 voice_language_mismatch, lan basa sing model ora duwe suara kanggo 422 unsupported_language. |
response_format | Ing string | Ing | Standar suara mbukak mp3 Aura 2 iku kembar. mp3 Dheweke bakal nindakake kekosongan. opus, aac, flac, wav lan pcm. |
speed | Nomer | Ing | Tembung lan diabaikan. |
Standar suara biaya rata 3 kredit standar (30 sats) siji permintaan, minangka ing app. Aura 2 iku Pro, harga dening karakter sing ngirim. Tubuh respon iku audio, karo matching
Content-TypeBiaya iku ing X-Nymbot-Cost-Sats Yen model pidato gagal, ora ana apa-apa.
Jawaban
HTTP/1.1 200 OK
Content-Type: audio/mpeg
X-Nymbot-Cost-Sats: 4.2
X-Nymbot-Balance-Sats: 41055.6
(audio bytes)
| Statusipun | Nalika |
|---|---|
400 | Ing ngisor iki, ing ngisor iki, ing ngisor iki, ing ngisor iki (input_too_long); format model sing ora bisa ngasilake (unsupported_response_format); suara sing ora dikenal (invalid_voice); model sing ora minangka model bicara (invalid_model). |
422 | Suara ora ngandika basa sing diwenehi, utawa model ora duwe suara kanggo iku. |
502 | Tiyang-Tiyang nggawé nggawé. nggawé nggawé nggawé. |
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 model lan suara
Dua daftar umum kanggo milih model bicara lan suara, utawa model transkripsi. Ana 41 Aura 2 basa Inggris lan empat basa MeloTTS.
GET https://nymbot.ai/api/v1/audio/models Ngandhakake kunci sing dibutuhake.
GET https://nymbot.ai/api/v1/audio/voices?language=en Ngandhakake kunci sing dibutuhake.
| Field iku | Tiyang | Diperlukan | Deskripsi |
|---|---|---|---|
language | Tiyang (Tiyang) | Ing | Tiyang ora bisa kanggo basa iki. |
model | Tiyang (Tiyang) | Ing | Sadaya suara kanggo model iki. |
Jawaban (panggonan)
{
"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 }
]
}
Modèla daftar jawaban {"object": "list", "data": {"tts": […], "stt": […]}}Masing-masing model bicara ngandika keseimbangan, harga, max_input_chars,
response_formats, languages lan default_voiceDhèwèké nindakake al-Qur’an lan hadits. max_file_bytes, max_seconds, format lan harga per menit.
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);
Panggonan ing teks
Ngubah rekaman menyang teks karo Whisper. iki iku titik akhir transkripsi OpenAI, supaya
audio.transcriptions.create lan kerja.
POST https://nymbot.ai/api/v1/audio/transcriptions — perlu kunci API, utawa Pembayaran Lightning kanggo permintaanTubuh iku multipart/form-data.
| Field iku | Tiyang | Diperlukan | Deskripsi |
|---|---|---|---|
file | file iku | ya wis | Ing rekaman, saka 256 byte kanggo 25 MB lan nganti 30 menit: WAV, WebM, MP4 utawa M4A, Ogg utawa Opus, MP3 lan format liyane Whisper njupuk. |
model | Ing string | Ing | Tiyang whisperIng ngisor iki iku Whisper Large v3 Turbo. whisper-1, whisper-large-v3-turbo lan @cf/openai/whisper-large-v3-turbo Piyambakipun makna padha. |
language | Ing string | Ing | Ing basa sing digunakake, kaya enDheweke ditemokake lan ditinggalake. |
prompt | Ing string | Ing | Kata-kata utawa spaghetti kanggo ngarepake, kayata jeneng. Sadaya 1000 karakter pisanan digunakake. |
response_format | Ing string | Ing | json Dheweke bakal nindakake kekosongan. text, srt, vtt lan verbose_json. |
Kanggo file WAV, WebM, MP4 lan Ogg, panjang iki dibaca saka file sadurunge apa-apa mbukak, supaya rekaman luwih saka 30 menit ditolak ing ndhuwur (dengan 3 detik). Panjang file WAV ana saka tingkat sampel, saluran, lan ukuran sampel. Panjang format liyane, kayata MP3, ora bisa dibaca ing ndhuwur, supaya padha dibatasi dening ukuran: ing bitrate paling rendah Nymbot njupuk, 8 kbps, 30 menit iku 1.8 MB, lan file luwih gedhe ing format iki ditolak karo 413
audio_too_long Ngirim rekaman sing luwih gedhe minangka WAV, WebM, MP4 utawa Ogg. Yen Whisper banjur melaporkan luwih saka 30 menit, permintaan ditolak karo
413 audio_too_long, lan wiwit Whisper digawe, 30 menit dibayar.
Sampeyan mbayar kanggo panjang audio, diwenehi nganti detik: paling panjang panjang dibaca saka file, panjang laporan Whisper, lan paling cilik ukuran file ngidini, ing harga per menit Whisper karo biaya biasa lan margin, lan minimal 0.05 kredit permintaan. 402 Ing aplikasi, transkripsi pesan suara bisa gratis; ing API iku uga dibayarkan.
Jawaban
{
"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 Nggunakake teks sing jelas, srt lan vtt Kembali ing subtitles, lan
verbose_json Ngandhut basa, durasi, lan segmen timed. Kanggo tiga segmen sing ora JSON, biaya ing header.
| Statusipun | Nalika |
|---|---|
400 | Ing ngisor iki, ing ngisor iki, ing ngisor iki, ing ngisor iki, ing ngisor iki, ing ngisor iki, ing ngisor iki (invalid_audio), format unknown, utawa model sing ora minangka model transkripsi (invalid_model). |
402 | Dheweke ora bisa mbukak balanse. |
413 | File iki luwih saka 25 MB (file_too_large) utawa rekaman luwih saka 30 menit, utawa, ing format sing panjang ora bisa dibaca, luwih saka 1,8 MB (audio_too_long). |
502 | Piyambakipun ora bisa nglakoni audio. |
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);
Translate ing basa ing basa ing basa ing Inggris
POST https://nymbot.ai/api/v1/audio/translations — perlu kunci API, utawa Pembayaran Lightning kanggo permintaanTubuh iku multipart/form-data.
Sama minangka transkripsi, karo kutha padha bagean saka language, limits lan harga, nanging teks mbukak ing basa ing basa Inggeris apa wae basa digunakake. 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);
Ingkang
Ngubah teks dadi vektor kanggo pencarian, clustering, lan deduplikasi. Model mbukak ing Cloudflare lan nggunakake keseimbangan standar.
POST https://nymbot.ai/api/v1/embeddings — perlu kunci API, utawa Pembayaran Lightning kanggo permintaan.
| Field iku | Tiyang | Diperlukan | Deskripsi |
|---|---|---|---|
model | Ing string | ya wis | Model ing basa ing GET /api/v1/models?type=embedding. |
input | string utawa array saka string | ya wis | Ing ngisor iki, ing ngisor iki, ing ngisor iki, ing ngisor iki, ing ngisor iki, ing ngisor iki, ing ngisor iki, ing ngisor iki, ing ngisor iki, ing ngisor iki (token_input_unsupported) Masing input kudu cocok karo model context_lengthDheweke bakal nindakake ing 4 bajet. |
encoding_format | Ing string | Ing | float (Sampunipun dhumateng) utawa base64 (Little-endian 32-bit floats ing basa Inggris) |
dimensions | Ingkang | Ing | Ukuran model dhewe, utawa kanggo model karo supported_dimensions Salah siji saka iku; vektor iku dikurangi lan normal. apa-apa liyane ditolak. |
| Modelipun | Dimensi | konteksipun |
|---|---|---|
@cf/baai/bge-m3 | 1024, akeh basa | 8.192 Token |
@cf/qwen/qwen3-embedding-0.6b | 1024, akeh basa | 8.192 Token |
@cf/baai/bge-large-en-v1.5 | 1024 Inggeris | 512 taun |
@cf/baai/bge-base-en-v1.5 | 768 Inggeris | 512 taun |
@cf/baai/bge-small-en-v1.5 | 384 Inggeris | 512 taun |
Daftar model iku sumber saka kebenaran kanggo apa sing kasedhiya lan apa biaya; Google's EmbeddingGemma, karo vektor sing luwih pendek ing permintaan, muncul ana uga nalika katalog duwe harga kanggo iku. Embeddings diukur per token input, lan minimum 0.05-kredit digunakake kanggo saben permintaan, ora kanggo saben input, supaya batch teks akeh ing siji permintaan iku luwih murah saka ngirimake siji ing wektu.
Jawaban
{
"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 }
}
| Statusipun | Nalika |
|---|---|
400 | Ing ngisor iki, ing ngisor iki, ing ngisor iki, ing ngisor iki, ing ngisor iki, ing ngisor iki (token_input_unsupported); luwih saka 100 input (too_many_inputs); input luwih saka model njupuk (input_too_long); ukuran sing model ora bisa nyedhiyakake (unsupported_dimensions). |
402 | Saldo standar terlalu rendah. Embeddings ora nggunakake saldo Pro. |
404 | Nanging ora nggunakake model karo jeneng iki. |
502 | Model iki gagal. ora dibayar apa-apa. |
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);