Dasar pangaweruh ngembangkeun
Gambar, audio jeung embeddings
Generator tina aplikasi, jeung blok bangunan pikeun pencarian: gambar, video, basa, transcription jeung embeddings, unggal dibayaran per pamakéan ti salinan Anjeun.
Kaca ieu ditarjamahkeun ku mesin pikeun genah. Asli Inggris nyaéta versi anu lumaku.
Ngasilkeun gambar
Ieu ngabalukarkeun hiji ka empat gambar ti prompt na ngabalukarkeun aranjeunna lamun dilakukeun. ?image Di handap ieu app.
POST https://nymbot.ai/api/v1/images/generations Anjeun kudu nyadiakeun API, atawa Uang Lightning ku permintaan.
Anjeunna datang ti GET /api/v1/models?type=imageNgeunaan generator standar.
@cf/black-forest-labs/flux-1-schnell, cost a flat 5 kredit standar (50 sats) hiji gambar. Sakabéh generator séjén spending Pro kredit dina harga sorangan, jeung fee biasa jeung margin, kawas dina Anjeunna app. n Gambar dibayar
n A medan nu generator teu nyokot ditangtukeun leuwih ti ditolak; generator standar ngagunakeun prompt ngan.
| Field nu | tipe nu | Diperlukan | Daptarkeun |
|---|---|---|---|
model | Pikeun string | Sumuhun | A generator id, kayaning nano-banana. |
prompt | Pikeun string | Sumuhun | Naon pikeun nyokot. ngan 2000 karakter kahiji dipaké. |
n | Ngeunaan | nu nu | 1 ka 4 Default 1. ogé diakui salaku num_images. |
size | Pikeun string | nu nu | Rata-rata hal anu dimaksud nyaéta "16:9"Demi sasatoan anu dimaksud nyaéta vertebrata. "1792x1024"Demi sasatoan anu dimaksud nyaéta sasatoan anu dimaksud nyaéta sasatoan anu dimaksud nyaéta sasatoan anu dimaksud nyaéta sasatoan anu dimaksud nyaéta sasatoan anu dimaksud nyaéta sasatoan anu dimaksud nyaéta sasatoan anu dimaksud nyaéta sasatoan anu dimaksud nyaéta sasatoan. "auto" Ngeunaan pikeun generator. |
aspect_ratio | Pikeun string | nu nu | Hal anu sarua sizeKu kituna, anjeun bakal meunangkeun dua. |
quality | Pikeun string | nu nu | Generator-spesifik, kayaning "low", "medium" Anjeunna "high". |
negative_prompt | Pikeun string | nu nu | Naon anu bisa dileupaskeun. |
output_format | Pikeun string | nu nu | "png", "jpeg" Anjeunna "webp". |
response_format | Pikeun string | nu nu | "url" Demi sasatoan anu dimaksud nyaéta vertebrata. "b64_json". |
image_url | Pikeun string | nu nu | A gambar pikeun dimimitian ku: a https:// link nu maximum 4,096 karakter tanpa ngaran pamaké atawa password dina eta, atawa data:image/…;base64 URL (PNG, JPEG, WebP atawa GIF; teu SVG). Sadaya pikeun generator kalawan editDemi sasatoan anu dimaksud nyaéta vertebrata. requires_image_url. |
resolution nu teu dipaké: unggal generator nyieun ukuran sorangan. ku url, unggal gambar diunggahkeun ka host Blossom publik jeung anjeun meunang link na (beberapa generator ngan nganteurkeun link sorangan, nu dikirimkeun). Demi sasatoan anu dimaksud nyaéta vertebrata.jeung
b64_json gambar datang balik dina respon na teu pernah diunggah. gambar dikirim salaku data: url anu image_url Ieu diuji dina cara anu sarua jeung
Ngeunaan jeung diunggahkeun ka Blossom kahiji supaya generator bisa nyokot eta; eta dihapus deui lamun permintaan gagal unfaced.
Lamun sababaraha n gambar gagal, anjeun meunangkeun anu dianggo, anu dibayaran ngan pikeun anu (plus sagala provider dibayaran sanajan gagal), jeung nymbot.failed Ieu ngabalukarkeun jumlah nu mungkir. Lamun sadaya gagal, permintaan ieu ngabalukarkeun. 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 }
}
| Status nu | Ku kituna |
|---|---|
400 | Anjeunna nganteurkeun. n Ngeunaan author nu: Lamun anjeun resep artikel ieu ngeunaan (invalid_valueNgeunaan author nu: Lamun anjeun resep artikel ieu ngeunaan (invalid_sizeNgeunaan author nu: Lamun anjeun resep artikel ieu ngeunaan (invalid_image, invalid_image_urlNgeunaan author nu: Lamun anjeun resep artikel ieu ngeunaan (invalid_modelNgeunaan author nu: Lamun anjeun resep artikel ieu ngeunaan (edit_unsupportedNgeunaan author nu: Lamun anjeun resep artikel ieu ngeunaan (image_required). |
402 | Balance teu bisa nyertakeun unggal gambar diperlukeun. |
404 | Ngeunaan author nu: Lamun anjeun resep artikel ieu ngeunaan (model_not_found). |
502 | Ngeunaan author nu: Lamun anjeun resep artikel ieu ngeunaan (upstream_errorKitu sakumaha anu diwanohkeun ku Yéhuwa, nu geus diwanohkeun ku Yéhuwa. charged_sats. |
503 | Ngeunaan author nu: Lamun anjeun resep artikel ieu ngeunaan (media_hosting_unavailable). b64_json Tapi masih bisa ngoperasikeun. |
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);
Nurutkeun gambar
Ieu mangrupakeun titik endpoint edit OpenAI, jadi OpenAI SDKs ' images.edit Anjeun tiasa ngalakukeun hal ieu dina generator Pro. edit dina list model nu nampi eta.
POST https://nymbot.ai/api/v1/images/edits Anjeun kudu nyadiakeun API, atawa Uang Lightning ku permintaanTubuh ieu téh multipart/form-dataAnjeun bisa ngaronjatkeun 32 MB.
| Field nu | tipe nu | Diperlukan | Daptarkeun |
|---|---|---|---|
image | Ngeunaan | Sumuhun | Gambar pikeun ngedit: PNG, JPEG, WebP atawa GIF, nepi ka 20 MB. image[]Ieu téh salah sahiji dipaké. |
prompt | Pikeun string | Sumuhun | Naon anu ngaganti. |
model | Pikeun string | Sumuhun | Generator jeung edit. |
n | Ngeunaan | nu nu | 1 jeung 4. |
sizeaspect_ratioqualitynegative_promptoutput_format | Pikeun string | nu nu | Ngeunaan generasi. |
response_format | Pikeun string | nu nu | "b64_json" (di handap ieu disadiakeun) atawa "url". |
Gambar nu anjeun ngunggah dipeunteun salaku PNG, JPEG, WebP atawa GIF anu diformulasikeun, dikirimkeun salaku tipe nyata, sarta disadiakeun dina host Blossom publik, sabab generator nyokot input maranéhanana ku link. Ngatur eta salaku publik. Upami editing gagal jeung henteu ngarugikeun, salinan hosted dihapus deui. Jawaban boga bentuk anu sarua jeung pikeun generator. Harga nyaéta harga generator, nu pikeun sababaraha generator kaasup biaya pikeun 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 }
}
| Status nu | Ku kituna |
|---|---|
400 | Ngeunaan author nu: Lamun anjeun resep artikel ieu ngeunaan (invalid_imageNgeunaan author nu: Lamun anjeun resep artikel ieu ngeunaan (edit_unsupported). |
413 | Ngeunaan author nu: Lamun anjeun resep artikel ieu ngeunaan (file_too_large), atawa sakabéh permintaan leuwih ti 32 MB. |
503 | Ngeunaan author nu: Lamun anjeun resep artikel ieu ngeunaan (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 nu
A video nyandak menit, jadi éta ngajalankeun dina latar belakang. Anjeun ngirimkeun eta, meunangkeun id saterusna, jeung ngobrol ngeunaan id nepi ka selesai. unggal generator video ngéléhkeun salinan Pro.
POST https://nymbot.ai/api/v1/videos Anjeun kudu nyadiakeun API, atawa Uang Lightning ku permintaanAnjeunna balik 202.
| Field nu | tipe nu | Diperlukan | Daptarkeun |
|---|---|---|---|
model | Pikeun string | Sumuhun | A video generator id ti GET /api/v1/models?type=videoKu kituna veo. |
prompt | Pikeun string | Sumuhun | Naon anu kudu jadi. |
duration | Ngeunaan string | nu nu | Panjang dina detik, leuwih ti 0 jeung nepi ka 60. Digunakeun ngan ku generator anu ngidinan anjeun milih panjang; anu séjén nyieun panjang biasa, nu naon seconds Dina respon na harga diikuti. |
aspect_ratio | Pikeun string | nu nu | Ku kituna "16:9" Anjeunna "9:16"Demi sasatoan anu dimaksud nyaéta vertebrata. "1280x720" Ieu bakal jadi ratio pangalusna. |
resolutionquality | Pikeun string | nu nu | Salah sahiji generator resolutions Dina tabel ieu, kawas "720p" Anjeunna "1080p"Ieu nempatkeun harga. apa-apa séjén anu ditolak ku unsupported_resolution. |
image_url | Pikeun string | nu nu | A gambar pikeun dimimitian ku: a https:// link jeung a data:image/… URL, nu diunggah ka host umum Blossom kahiji. Diperlukeun ku generator kalawan requires_image_url. |
Harga anu fixed nalika anjeun ngirim, ti generator, resolusi jeung panjangna, jadi éta dibayarkan ti saldo Pro anjeun sanggeus provider nampa karya, sarta ditémbongkeun salaku
cost, estimated_cost jeung nymbotUpami provider refuses karya, kitu teu dibayarkan. Upami rendering handap gagal, atawa klip selesai teu bisa disimpen jeung provider teu tagihan pikeun eta, tagihan anu dibayar hiji kali, otomatis. A rendering nu masih datang sanggeus hiji jam anu ditinggalkeun, sarta tetep tagihan nya, sabab provider tagihan a render sanggeus eta nampa eta. A refund ngaronjatkeun kredit tapi teu ngurungkeun hitungan spending kunci.
Ngeunaan author (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 Dimimitian ku in_progressAnjeunna completed Video nu aya dina data Demi sasatoan anu dimaksud nyaéta vertebrata.
Nurutkeun video
GET https://nymbot.ai/api/v1/videos/{id} - kudu hiji kunci milik nym anu ngirimkeun eta. A kunci nu geus kapanggih cap nya masih bisa cek.
Jawaban téh 202 Video ieu dihasilkeun jeung 200 sakali éta selesai atawa geus gagal. Minta unggal 5 nepi ka 10 detik. unggal cek ngobrol ka provider hiji kali jeung jawab di sakali; eta teu pernah ngantosan pikeun video. Pekerjaan ieu ditahan pikeun 24 jam sanggeus eta disadiakeun.
GET /api/v1/videos Nurutkeun 50 posisi panganyarna ku key
{"object": "list", "data": […]}.
Ngeunaan 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 Anjeunna in_progress, completed Anjeunna failedHatur nu ngabalukarkeun error ({"code": "generation_failed", "message": …}Demi sasatoan anu dimaksud nyaéta vertebrata. cost Ieu téh 0 jeung nymbot Ngaronjatkeun
refunded_credits jeung refunded_satsVideo selesai aya dina host umum Blossom, kawas gambar anu dihasilkeun.
| Status nu | Ku kituna |
|---|---|
400 | Ngeunaan author nu: Lamun anjeun resep artikel ieu ngeunaan (invalid_valueNgeunaan author nu: Lamun anjeun resep artikel ieu ngeunaan (unsupported_resolutionNgeunaan author nu: Lamun anjeun resep artikel ieu ngeunaan (image_requiredNgeunaan author nu: Lamun anjeun resep artikel ieu ngeunaan (invalid_model). |
402 | Pro balanse teu bisa nyertakeun video. |
404 | Ngeunaan author nu: Lamun anjeun resep artikel ieu ngeunaan (model_not_foundNgeunaan author nu: Lamun anjeun resep artikel ieu ngeunaan (video_not_found). |
429 | Ngeunaan author nu: Lamun anjeun resep artikel ieu ngeunaan (video_jobs_limitNurutkeun di aranjeunna jeung ngirimkeun leuwih saprak hiji finishes. |
502 | Jenerator ditolak karya. Ti kitu ngarugikeun mun provider dibayar pikeun eta. |
503 | Ngeunaan author nu: Lamun anjeun resep artikel ieu ngeunaan (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);
Nurutkeun pidato
Ngajarkeun teks badag sareng ngabalukarkeun file audio sorangan, henteu sambungan. audio.speech.create Di handap ieu nyaéta: OpenAI SDKs.
POST https://nymbot.ai/api/v1/audio/speech Anjeun kudu nyadiakeun API, atawa Uang Lightning ku permintaan.
| Field nu | tipe nu | Diperlukan | Daptarkeun |
|---|---|---|---|
model | Pikeun string | nu nu | Modél pikeun ngobrol Ngeunaan model audioNgeunaan standard voice, @cf/myshell-ai/melotts. aura-2 Ieu téh Aura 2. |
input | Pikeun string | Sumuhun | Teks pikeun dibaca: nepi ka 800 karakter pikeun suara standar, 2000 pikeun Aura 2. |
voice | Pikeun string | nu nu | Ngeunaan Voice ID Ngeunaan voices: Aura speaker kayaning luna (Ieu téh aura-2-luna-enNgeunaan author nu: Lamun anjeun resep artikel ieu ngeunaan (en, es, fr, zhOpenAI ngaran suara kayaning alloy nu diakui jeung nyadiakeun suara default model. |
language | Pikeun string | nu nu | Ngeunaan kode bahasa anu esTanpa hiji suara, éta milih hiji pikeun basa ieu. hiji suara nu ngobrol basa sejen balik 422 voice_language_mismatch, jeung basa nu model teu boga suara pikeun 422 unsupported_language. |
response_format | Pikeun string | nu nu | Ngeunaan Standard Voice mp3 Aura 2 diwangun ku mp3 Demi sasatoan anu dimaksud nyaéta vertebrata. opus, aac, flac, wav Anjeunna pcm. |
speed | Numutkeun | nu nu | Ngeunaan jeung diabaikan. |
Suara standar cost a flat 3 kredit standar (30 sats) hiji permintaan, kawas di app. Aura 2 nyaéta Pro, dibayar ku karakter nu anjeun ngirim. Tubuh respon nyaéta audio, jeung hiji cocog
Content-TypeNgeunaan biaya anu aya dina X-Nymbot-Cost-Sats Demi sasatoan anu aya, aya nu ngabalukarkeun, nu ngabalukarkeun.
Jawaban
HTTP/1.1 200 OK
Content-Type: audio/mpeg
X-Nymbot-Cost-Sats: 4.2
X-Nymbot-Balance-Sats: 41055.6
(audio bytes)
| Status nu | Ku kituna |
|---|---|
400 | Ngeunaan author nu: Lamun anjeun resep artikel ieu ngeunaan (input_too_longNgeunaan author nu: Lamun anjeun resep artikel ieu ngeunaan (unsupported_response_formatNgeunaan author nu: Lamun anjeun resep artikel ieu ngeunaan (invalid_voiceNgeunaan author nu: Lamun anjeun resep artikel ieu ngeunaan (invalid_model). |
422 | Suara teu ngobrol basa ieu, atawa model teu boga suara pikeun eta. |
502 | Ngeunaan bahan-bahan anu dipikaresepkeun. nu teu disadiakeun. |
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()));
Modél audio jeung suara
Dua daftar umum pikeun milih model basa jeung suara, atawa model transcription. Aya 41 Aura 2 basa Inggris jeung tilu basa MeloTTS.
GET https://nymbot.ai/api/v1/audio/models Aya kunci anu dibutuhkeun.
GET https://nymbot.ai/api/v1/audio/voices?language=en Aya kunci anu dibutuhkeun.
| Field nu | tipe nu | Diperlukan | Daptarkeun |
|---|---|---|---|
language | Ngeunaan string (query) | nu nu | Sadaya suara pikeun basa ieu. |
model | Ngeunaan string (query) | nu nu | Sadaya suara pikeun model ieu. |
Ngeunaan author nu:
{
"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 }
]
}
Ngeunaan formulir respon {"object": "list", "data": {"tts": […], "stt": […]}}Tiap model ngobrol nyadiakeun keseimbangan, harga, max_input_chars,
response_formats, languages jeung default_voiceModél transcription nyadiakeun aliases, max_file_bytes, max_seconds, format jeung 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);
Ngeunaan teks
Ngabalukarkeun rekaman kana teks kalayan Whisper. Ieu téh titik akhir transkripsi OpenAI, jadi
audio.transcriptions.create Anjeunna kerja.
POST https://nymbot.ai/api/v1/audio/transcriptions Anjeun kudu nyadiakeun API, atawa Uang Lightning ku permintaanTubuh ieu téh multipart/form-data.
| Field nu | tipe nu | Diperlukan | Daptarkeun |
|---|---|---|---|
file | Ngeunaan | Sumuhun | Rekaman, ti 256 byte ka 25 MB jeung nepi ka 30 menit: WAV, WebM, MP4 atawa M4A, Ogg atawa Opus, MP3 jeung format séjén Whisper baca. |
model | Pikeun string | nu nu | Daptarkeun whisperIeu mangrupikeun turbo v3. whisper-1, whisper-large-v3-turbo jeung @cf/openai/whisper-large-v3-turbo Ieu maksudna anu sarua. |
language | Pikeun string | nu nu | Ngaronjatkeun basa, kayaning enDupi ditéangkeun lamun ditinggalkeun. |
prompt | Pikeun string | nu nu | Kalimat atawa spaghetti bisa diwartakeun, kayaning ngaran. Sadaya 1000 karakter kahiji anu dipaké. |
response_format | Pikeun string | nu nu | json Demi sasatoan anu dimaksud nyaéta vertebrata. text, srt, vtt Anjeunna verbose_json. |
Pikeun file WAV, WebM, MP4 jeung Ogg panjangna dibaca ti file saméméh kitu run, jadi rekaman leuwih ti 30 menit ditolak nepi ka hadé (dina 3 detik). panjangna file WAV datang ti tingkat sampel, saluran jeung ukuran sampel. panjangna format séjén, kayaning MP3, teu bisa dibaca nepi ka hadé, jadi aranjeunna dibates ku ukuran: dina bitrate lowest Nymbot nganggap, 8 kbps, 30 menit nyaéta 1.8 MB, jeung file badag dina format ieu ditolak ku 413
audio_too_long Ngirimkeun rekaman panjang salaku WAV, WebM, MP4 atawa Ogg. Upami Whisper lajeng laporan leuwih ti 30 menit malah, permintaan anu ditolak ku
413 audio_too_long, jeung saprak whisper geus dilakukeun, 30 menit dicharge.
Anjeun bayar pikeun panjang audio, buleud nepi ka saterusna: pangpanjangna panjang dibaca ti file, panjang whisper laporan, jeung minimum ukuran file ngidinan, dina harga per menit Whisper jeung fee biasa jeung margin, jeung sahenteuna 0.05 kredit hiji permintaan. Ieu dibayar ti saldo standar lamun nu bisa nyertakeun hold, jeung ti Pro sejenna; 402 Di app, transcripting hiji pesan suara bisa bébas; dina API éta selalu dibayaran. Lamun whisper gagal, henteu dibayaran.
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 Ieu ngabalukarkeun teks, srt jeung vtt Demi sasatoan anu dimaksud nyaéta vertebrata.
verbose_json Ngaronjatkeun basa, durasi jeung segmen waktu. Pikeun tilu nu teu JSON, biaya téh dina headers.
| Status nu | Ku kituna |
|---|---|
400 | Ngeunaan author nu: Lamun anjeun resep artikel ieu ngeunaan (invalid_audioNgeunaan author nu: Lamun anjeun resep artikel ieu ngeunaan (invalid_model). |
402 | Ieu balanse teu bisa nyertakeun. |
413 | Ngeunaan author nu: Lamun anjeun resep artikel ieu ngeunaan (file_too_largeNgeunaan author nu: Lamun anjeun resep artikel ieu ngeunaan (audio_too_long). |
502 | Anjeun teu bisa ngaronjatkeun 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);
Terjemahkeun pidato ka basa Inggris
POST https://nymbot.ai/api/v1/audio/translations Anjeun kudu nyadiakeun API, atawa Uang Lightning ku permintaanTubuh ieu téh multipart/form-data.
Sama salaku transkripsi, kalayan medan anu sarua ti language, limits jeung harga, tapi teks datang balik dina basa Inggris naon basa anu dipikawanoh. OpenAI SDKs nelepon eta jeung 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);
Ngeunaan
Ngaronjatkeun teks kana vektor pikeun pencarian, clustering jeung deduplication. Modél ngajalankeun dina Cloudflare jeung ngabogaan salinan standar.
POST https://nymbot.ai/api/v1/embeddings Anjeun kudu nyadiakeun API, atawa Uang Lightning ku permintaan.
| Field nu | tipe nu | Diperlukan | Daptarkeun |
|---|---|---|---|
model | Pikeun string | Sumuhun | Modél anu diwangun ku GET /api/v1/models?type=embedding. |
input | Ngeunaan string atawa array string. | Sumuhun | Ngeunaan author nu: Lamun anjeun resep artikel ieu ngeunaan (token_input_unsupportedTiap input kudu cocog jeung model. context_lengthDemi sasatoan anu dimaksud nyaéta vertebrata. |
encoding_format | Pikeun string | nu nu | float Demi sasatoan anu dimaksud nyaéta vertebrata. base64 (Baca ngeunaan 32-bit floats) |
dimensions | Ngeunaan | nu nu | Ukuran model sorangan, atawa pikeun model kalawan supported_dimensions Salah sahiji; vektor ieu lajeng shortened jeung normalized. Kabéh kitu anu ditolak. |
| Modél téh | Dimensi anu | konteks ieu |
|---|---|---|
@cf/baai/bge-m3 | 1024, loba basa | Ngeunaan 8192 token |
@cf/qwen/qwen3-embedding-0.6b | 1024, loba basa | Ngeunaan 8192 token |
@cf/baai/bge-large-en-v1.5 | 1024 jeung Inggris. | Ngeunaan 512 koin |
@cf/baai/bge-base-en-v1.5 | 788 jeung Inggris. | Ngeunaan 512 koin |
@cf/baai/bge-small-en-v1.5 | 384 Inggeris | Ngeunaan 512 koin |
Daftar model mangrupakeun sumber kebenaran pikeun naon anu sadia jeung naon aranjeunna biaya; Google's EmbeddingGemma, kalawan vektor panganyarna on request, muncul di dieu ogé lamun katalog boga harga pikeun eta. embeddings anu diukur per token input, jeung minimum 0.05-kredit diterapkan ka unggal request, teu ka unggal input, jadi batching loba teks kana hiji request nyaéta jauh leuwih murah ti ngirimkeun aranjeunna hiji di sakuliah.
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 }
}
| Status nu | Ku kituna |
|---|---|
400 | Ngeunaan author nu: Lamun anjeun resep artikel ieu ngeunaan (token_input_unsupportedNgeunaan author nu: Lamun anjeun resep artikel ieu ngeunaan (too_many_inputsNgeunaan author nu: Lamun anjeun resep artikel ieu ngeunaan (input_too_longNgeunaan author nu: Lamun anjeun resep artikel ieu ngeunaan (unsupported_dimensions). |
402 | Saluran standar nyaéta terlalu rendah. embeddings teu pernah ngagunakeun saluran Pro. |
404 | Aya model nu dipikawanoh ku ngaran ieu. |
502 | Modél ieu gagal. henteu ngarugikeun. |
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);