Bilik bazası Developerlər
Görüntülər, audio və embeddings
Uygulamanın generatorları və arama üçün inşaat blokları: görüntülər, video, danışıq, transkripsiya və embeddings, hər biri balansınızdan istifadə üçün hesabatlandırılır.
Bu səhifə rahatlıq üçün maşın tərəfindən tərcümə edilmişdir. İngilis orijinalı tətbiq olunan versiyadır.
Görüntüləri yaratmaq
Bir neçə ildir ki, bu, bir neçə ildir ki, bir neçə ildir ki, bir neçə ildir ki, bir neçə ildir ki, bir neçə ildir ki, bir neçə ildir ki, bir neçə ildir ki, bir neçə ildir ki, bir ildir ki, bir ildir ki, bir ildir ki, bir ildir ki, bir ildir ki, bir ildir ki, bir ildir ki, bir ildir ki, bir ildir ki, bir ildir ki, bir ildir. ?image İndi də app.
POST https://nymbot.ai/api/v1/images/generations - bir API şifresi lazımdır, və ya İstehsal üçün Lightning xəritəsi.
İddia gəldi GET /api/v1/models?type=imageStandart generatorlar
@cf/black-forest-labs/flux-1-schnellHər bir fotoşəkil üçün 5 standart kredit (50 sats) maliyyələşdirir. hər bir digər generator öz qiymətində Pro kreditlərini, normal xərclər və marjina ilə xərcləyir. Əsas app. n Fotoların qiyməti
n Xeneratorun qəbul etmədiyi bir sahə reddən deyil, atılır; standart generator yalnız promptini istifadə edir.
| Fieldə | Tipi | İhtiyaç | Açıqlama |
|---|---|---|---|
model | Stringlər | Bəli | Bir generator id kimi nano-banana. |
prompt | Stringlər | Bəli | Sadəcə ilk 2000 karakter istifadə edilir. |
n | İnter | Yəqin | 1 - 4.Default 1. ayrıca qəbul edilmiş num_images. |
size | Stringlər | Yəqin | Təsadüfi olaraq belə bir aspekt "16:9"Və yaxud bir dəfədən ibarətdir. "1792x1024"Əsas səhifə » Əsas səhifə » Əsas səhifə » Əsas səhifə » Əsas səhifə » Əsas səhifə "auto" Bunu generatorun üstünə qoyun. |
aspect_ratio | Stringlər | Yəqin | Nə qədər də sizeHər ikisi ilə birlikdə qalır. |
quality | Stringlər | Yəqin | Generatorlar kimi "low", "medium" və ya "high". |
negative_prompt | Stringlər | Yəqin | Neyi tərk etmək lazımdır. |
output_format | Stringlər | Yəqin | "png", "jpeg" və ya "webp". |
response_format | Stringlər | Yəqin | "url" (Müsəlmanlar və ya "b64_json". |
image_url | Stringlər | Yəqin | Başlamaq üçün bir foto: A https:// 4 096 işarə olan linkdə istifadəçi adı və ya şifrəsi yoxdur və ya data:image/…;base64 URL (PNG, JPEG, WebP və ya GIF; SVG deyil). editİstehsal edənlər üçün requires_image_url. |
resolution Hər kəs özü ilə birlikdədir, özü ilə birlikdədir. urlHər bir görüntü public bir Blossom hostə yüklənir və siz onun linkini alırsınız (bir neçə xenerator yalnız özlərinin linkini qaytarır, bu linkə göndərilir). Atəşkəs nə görürilə
b64_json Fotoşəkil: Fotoşəkil: Fotoşəkil: Fotoşəkil: Fotoşəkil: Fotoşəkil: Fotoşəkil: Fotoşəkil data: URL ilə image_url Görünür ki, eyni zamanda bir
Əməkdar Xatırladaq ki, “Blossom”da ilk dəfə “Blossom”da “Blossom”, “Blossom”da “Blossom”da “Blossom”, “Blossom”da “Blossom”da “Blossom”da “Blossom”da “Blossom”da “Blossom”da “Blossom”da “Blossom”da “Blossom”da “Blossom”da “Blossom”da “Blossom”da “Blossom”da “Blossom”da “Blossom”da “Blossom”da “Blossom”da “Blossom”da “Blossom”da “Blossom”da “Blossom”da “Blossom”da “Blossom”da “Blossom”da “Blossom”da “Blossom”
Əgər bir neçə n Fotolar yenə işləyir, işləyir, yalnız onlar üçün cəzalandırılır (pluss hər hansı bir xidmətçi yenə işləyir), və nymbot.failed Bir neçə ildir ki, bu problemlər həll olunmayıb, bir neçə ildir ki, bu problemlər həll olunacaq. 502.
Reaksiya
{
"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 }
}
| Statistika | Nə vaxt |
|---|---|
400 | Qızıl olmayıb n 1 və 4 (invalid_valueƏsas səhifə / Əsas səhifə (invalid_sizeGörüntülər (invalid_image, invalid_image_url“Qəbələ”nin “Qəbələ”ni “Qəbələ”ni “Qəbələ”ni “Qəbələ”ni “Qəbələ”ni “Qəbələ”ni “Qəbələ”ni “Qəbələ”ni “Qəbələ”ni “Qəbələ”ni “Qəbələ”ni “Qəbələ”ni “Qəbələ”ni “Qəbələ”ni “Qəbələ”ni “Qəbələ”ni “Qəbələ”ni “Qəbələ”ni “Qəbələ”ni “Qəbələ”ni “Qəbələ”ni “Qəbələ”ni “Qəbələ”ni “Qəbələ”ni” [...]invalid_model“Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”n”in “Qəbələ”nin “Qəbələ”in “Qəbələ”in “Qəbələ”in “Qəbələ”in “Qəbələ”in “Qəbələ”in “Qəbələ”in “Qəbələ”in “Qəbələ”in “Qəbələ”in “Qəbələ”in”in “Qəbələ”in”in “Qəbələ”inedit_unsupportedİstehsal etməyən şəxs üçün fotoqraf (image_required). |
402 | Bildirilib ki, hər bir fotoya ehtiyac yoxdur. |
404 | Bu adın adı yoxdur (model_not_found). |
502 | Əsas səhifə (upstream_error“Qazaxıstanda heç bir problem yoxdur” – “Qazaxıstanda heç bir problem yoxdur” charged_sats. |
503 | Fotoşəkilləri bu saatda təqdim edə bilmərik (media_hosting_unavailable). b64_json Hala işləyir |
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);
Görüntüləri editing
Bu, “OpenAI SDKs”in “OpenAI SDKs”in “OpenAI SDKs”in “OpenAI SDKs”in “OpenAI SDKs”in “OpenAI SDKs”in “OpenAI SDKs”in “OpenAI SDKs”in “OpenAI SDKs”in “OpenAI SDKs”in “OpenAI SDKs”in “OpenAI SDKs”in “OpenAI SDKs”in “OpenAI SDKs”in “OpenAI SDKs”in “OpenAI SDKs”in “OpenAI SDK”in “OpenAI SDKs”in “OpenAI SDKs”in “OpenAI SDK”in “OpenAI SDK”in “OpenAI SDK”in “O images.edit Sadəcə olaraq, bu generatorların edit Model listində bunu qəbul etmək lazımdır.
POST https://nymbot.ai/api/v1/images/edits - bir API şifresi lazımdır, və ya İstehsal üçün Lightning xəritəsiBəlkə də vücud multipart/form-data32 MB təşkil edir.
| Fieldə | Tipi | İhtiyaç | Açıqlama |
|---|---|---|---|
image | Filtrə | Bəli | Edit etmək üçün görüntü: PNG, JPEG, WebP və ya GIF, 20 MB-a qədər. image[]Birincisi də istifadə olunur. |
prompt | Stringlər | Bəli | Niyə dəyişmək lazımdır. |
model | Stringlər | Bəli | Generator ilə bağlı edit. |
n | İnter | Yəqin | 1 ilə 4 |
sizeaspect_ratioqualitynegative_promptoutput_format | Stringlər | Yəqin | Ümumilikdə də generasiya. |
response_format | Stringlər | Yəqin | "b64_json" (Hər şey burada və ya "url". |
Yüklədiklərinizin PNG, JPEG, WebP və ya GIF formatlı olduğunu, öz həqiqi tipinə göndərildiyini və xeneratorların bağlantı ilə inputlarını ala bildikləri üçün public bir Blossom hostdə yerləşdirildiyini kontrol edin. Düzdürmə başarısız olsaydı və heç bir şey yüklənməsə, ev sahibinin kopyası yenidən silinir. Cəza xeneratorun qiymətidir.
Reaksiya
{
"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 }
}
| Statistika | Nə vaxt |
|---|---|
400 | Fotoşəkil, fotoşəkil, fotoşəkil, fotoşəkil, fotoşəkil, fotoşəkil, fotoşəkil, fotoşəkilinvalid_imageVVD - Hollandiyada futbolçu bu adla tanımır.edit_unsupported). |
413 | 20 MB-dan çox görüntü (file_too_largevə ya 32 MB-dan çox olan bütün istəklər. |
503 | Fotoqraflar bu günə qədər təqdim edilə bilməz (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"));
Videoları
Bir video dəqiqə alır, bu yüzden arxasınca çalışır. Siz onu göndərirsiniz, bir id dərhal alır və bitən qədər id haqqında soruşursunuz.
POST https://nymbot.ai/api/v1/videos - bir API şifresi lazımdır, və ya İstehsal üçün Lightning xəritəsiDönüşlər 202.
| Fieldə | Tipi | İhtiyaç | Açıqlama |
|---|---|---|---|
model | Stringlər | Bəli | Bir video generator id GET /api/v1/models?type=videoTəkcə belə veo. |
prompt | Stringlər | Bəli | Bəs nə olmalıdır. |
duration | Numaralar və stringlər | Yəqin | Uzunluğu saniyədə, daha çox 0 və 60 qədər. yalnız uzunluğunu seçmenizi sağlayan jeneratorlar tərəfindən istifadə edilir; digərləri normal uzunluğunu edir, bu nədir seconds Cəza və reaksiya ilə bağlıdır. |
aspect_ratio | Stringlər | Yəqin | Təkcə "16:9" və ya "9:16"Bəzən belə bir ölçü "1280x720" Bu, ən yaxındır. |
resolutionquality | Stringlər | Yəqin | Generatorlardan biri resolutions Model listəsində belə "720p" və ya "1080p"Başqa bir şeyin qiymətini verə bilər, başqa hər şeyin unsupported_resolution. |
image_url | Stringlər | Yəqin | Başlamaq üçün bir foto: A https:// Link və ya data:image/… Ana səhifə » Gündəm » Gündəm » Gündəm » Gündəm » Gündəm » Gündəm » Gündəm requires_image_url. |
Fiyatı göndərdiyiniz zaman, generatordan, çözünürlükdən və uzunluğundan sabitdir, bu nedenle, provider işini qəbul etdikdən sonra Pro balansınızdan cəzalandırılır və
cost, estimated_cost və nymbotBir neçə saatdan sonra işləyə bilmədiyinizi bilmədiyinizi bilmədiyinizi bilmədiyinizi bilmədiyinizi bilmədiyinizi bilmədiyinizi bilmədiyinizi bilmədiyinizi bilmədiyinizi bilmədiyinizi bilmədiyinizi bilmədiyinizi bilmədiyinizi bilmədiyinizi bilmədiyinizi bilmədiyinizi bilmədiyinizi bilmədiyinizi bilmədiyinizi bilmədiyinizi bilmədiyinizi bilmədiyinizi bilmədiyinizi bilmədiyinizi bilmədiyinizi bilmədiyinizi bilmədiyinizi bilmədiyinizi bilmədiyinizi bilmədiyinizi bilmədiyinizi bilmədiyinizi bilmədiyinizi bilmədiyinizi bilirsiniz.
Tədbirlər (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 Başlamaq üçün in_progressvə ya completed Videoya baxdıqdan sonra data Xeneratorun geri qaytarılmasından sonra
Videoya baxmaq
GET https://nymbot.ai/api/v1/videos/{id} Bir neçə ildir ki, bu problemlər həll olunacaq, bir neçə ildir ki, bu problemlər həll olunacaq.
Cəmi cavab 202 Videonun hazırlanması və 200 Hər 5 ilə 10 saniyədə soruşun. hər bir baxış bir dəfə soruşur və bir dəfə cavab verir; videoya heç vaxt gözləmir.
GET /api/v1/videos Son 50 ildir ki, bu işlər
{"object": "list", "data": […]}.
Əməkdaşlıq (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 İŞİD in_progress, completed və ya failedBaşqaları işdən qaçdılar error ({"code": "generation_failed", "message": …}Əgər qaytarılsa, cost 0 və nymbot Təkliflər
refunded_credits və refunded_satsSonuncu video, bənzər görüntülər kimi Public Blossom hostindədir.
| Statistika | Nə vaxt |
|---|---|
400 | Xatırladaq ki, bir neçə ildir ki, bu, 60 ildir.invalid_value“Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”n”in “Qəbələ”nin “Qəbələ”n”in “Qəbələ”nin “Qəbələ”n”in “Qəbələ”nin “Qəbələ”n”in “Qəbələ”nin “Qəbələ”n”in “Qəbələ”nin “Qəbələ”n”in “Qəbələ”n”in “Qəbələ”n”in “Qəbələ”n”in...unsupported_resolution“Qəbələ”nin “Qəbələ”nin “Qəbələ”nə ehtiyacı yoxdurimage_requiredVideoya çəkilən videoya baxmayıb.invalid_model). |
402 | Pro balansı videoya daxil oluna bilməz. |
404 | Əsas səhifə (model_not_found“Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”in “Qəbələ”in “Qəbələ”in “Qəbələ”in “Qəbələ”in “Qəbələ”in “Qəbələ”in “Qəbələ”in “Qəbələ”in “Qəbələ”n”in “Qəbələ”in “Qəbələvideo_not_found). |
429 | Xatırladaq ki, 10 ildir ki, bu videoya baxmaq lazımdır.video_jobs_limitOnlara baxın və bir dəfə daha göndərin. |
502 | “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”in “Qəbələ”in “Qəbələ”in “Qəbələ”in “Qəbələ”in “Qəbələ”in “Qəbələ”in “Qəbələ”in “Qəbələ”in “Qəbələ”in “Qəbələ”in “Qəbələ”n”in “Qəbələ”in “Qəbələ |
503 | Videoya daxil olmaq və istifadə etmək mümkün deyil (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);
Konkret danışıq
Xüsusilə, bir neçə ildir ki, bu problemlər həll olunmasa, bir neçə ildir ki, bu problemlər həll olunmur. audio.speech.create OpenAI SDK-lər işləyir
POST https://nymbot.ai/api/v1/audio/speech - bir API şifresi lazımdır, və ya İstehsal üçün Lightning xəritəsi.
| Fieldə | Tipi | İhtiyaç | Açıqlama |
|---|---|---|---|
model | Stringlər | Yəqin | Bir danışıq modelinin Audio modelləriStandart: Standart quraşdırma @cf/myshell-ai/melotts. aura-2 Deepgram Aura 2 ilə bağlı |
input | Stringlər | Bəli | Texti oxumaq üçün: standart söz üçün 800 işarə, Aura 2 üçün 2000 işarə. |
voice | Stringlər | Yəqin | Həkimlərin ID-si Sessiyaların listası“Aura” sözçüsü luna və ya aura-2-luna-enAzərbaycan dilində (en, es, fr, zh“OpenAI” adları alloy İstehsal ediləcək və modelin standart qərarını verəcək. |
language | Stringlər | Yəqin | Dil kodları kimi esBir dilə danışan şəxs, bir dilə danışan şəxs, bir dilə danışan şəxs qaytarılır. 422 voice_language_mismatch“Bir dili var ki, modelin heç bir sözü yoxdur. 422 unsupported_language. |
response_format | Stringlər | Yəqin | Standart sessiya qayıdır mp3 Aura 2 qayıtdı mp3 (Mənim fikrim də bu idi) opus, aac, flac, wav və ya pcm. |
speed | Numaraları | Yəqin | Təsadüfi və ignorantdır. |
“Aura 2” “Pro”, göndərdiyiniz karakterlərə görə qiymətləndirilir.
Content-TypeMüəllimlərin qiyməti X-Nymbot-Cost-Sats Konkret.az-a istinadən xəbər verir ki, bu barədə məlumat verilməyib.
Reaksiya
HTTP/1.1 200 OK
Content-Type: audio/mpeg
X-Nymbot-Cost-Sats: 4.2
X-Nymbot-Balance-Sats: 41055.6
(audio bytes)
| Statistika | Nə vaxt |
|---|---|
400 | Əsas səhifə / Mədəniyyət / Mədəniyyət (input_too_long“Qəbələ”nin yaradıcılığının nəticəsi açıqlanmayıbunsupported_response_formatƏsas səhifə (invalid_voice“Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”n”in “Qəbələ”nin “Qəbələ”n”in “Qəbələ”nin “Qəbələ”n”in “Qəbələ”in “Qəbələ”n”in “Qəbələ”nin “Qəbələ”n”in “Qəbələ”nin “Qəbələ”n”in “Qəbələ”n”in “Qəbələ”n”in “Qəbələ”n”in “Qəbələ”ininvalid_model). |
422 | Votlar bu dili danışmır, ya da modelin onun üçün heç bir sözü yoxdur. |
502 | Təsadüfi qərar qəbul olunmayıb. - Təsadüfi qərar |
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 modellər və seslər
Bir söz modeli və bir sözü seçmək üçün iki public listlər və ya bir transcription model.There are 41 Aura 2 English speakers and four MeloTTS languages.
GET https://nymbot.ai/api/v1/audio/models Anahtar lazım deyil.
GET https://nymbot.ai/api/v1/audio/voices?language=en Anahtar lazım deyil.
| Fieldə | Tipi | İhtiyaç | Açıqlama |
|---|---|---|---|
language | Qəbələ (Qəbələ) | Yəqin | Yalnız bu dilə danışıqlar aparılır. |
model | Qəbələ (Qəbələ) | Yəqin | Sadəcə bu model üçün. |
İstirahət (Voice)
{
"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 }
]
}
Modelin cavabları {"object": "list", "data": {"tts": […], "stt": […]}}Hər bir model öz balansını, qiymətini verir. max_input_chars,
response_formats, languages və default_voice“Transk” şirkəti bu barədə məlumat yayıb. max_file_bytes, max_secondsSürücülər və dəqiqə qiyməti
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);
Teksti ilə danışmaq
Xatırladaq ki, bu, “OpenAI” şirkəti ilə işləyir.
audio.transcriptions.create işləyirlər
POST https://nymbot.ai/api/v1/audio/transcriptions - bir API şifresi lazımdır, və ya İstehsal üçün Lightning xəritəsiBəlkə də vücud multipart/form-data.
| Fieldə | Tipi | İhtiyaç | Açıqlama |
|---|---|---|---|
file | Filtrə | Bəli | 256 baytdan 25 MB-a və 30 dəqiqəyə qədər: WAV, WebM, MP4 və ya M4A, Ogg və ya Opus, MP3 və digər formatlar. |
model | Stringlər | Yəqin | Defektlər whisperBu barədə “Whisper Large v3 Turbo” məlumat yayıb. whisper-1, whisper-large-v3-turbo və @cf/openai/whisper-large-v3-turbo Aynı şeyi deməkdir. |
language | Stringlər | Yəqin | Təsadüfi dil, belə enDüşünürəm ki, çıxdıqdan sonra. |
prompt | Stringlər | Yəqin | İlk 1000 işarə yalnız istifadə olunur. |
response_format | Stringlər | Yəqin | json (Mənim fikrim də bu idi) text, srt, vtt və ya verbose_json. |
WAV, WebM, MP4 və Ogg dosyaları üçün uzunluğu hər hansı bir şeydən əvvəl dosyadan oxunur, belə ki, 30 dəqiqədən çox olan bir çəkiliş öncə (üç saniyəyə qədər) qəbul olunmaz). Bir WAV dosyasının uzunluğu onun nümunə həcmi, kanalları və nümunə boyundan gəlir. MP3 kimi digər formatların uzunluğu öncə oxunmaq mümkün deyil, belə ki, onlar boyla sınırlıdır: ən düşük bit həcmi ilə Nymbot varsayar, 8 kbps, 30 dəqiqə 1.8 MB və bu formatda daha böyük bir dosya qəbul olunmaz. 413
audio_too_long VVD - Hollandiyada futbolçu bu adla tanımır, orada VVD daha çox mərkəz-sağı təmsilən edən siyasi partiyanın adının qısaltması kimi bilinir - artıq sorğu-suala ehtiyacı olmayan ulduzdu.
413 audio_too_long“Snickers” isə 30 dəqiqə davam edir.
Siz audio uzunluğuna görə ödənirsiniz, ikinci qədər yuvarlanır: dosyadan oxunan uzunluğunun ən uzunluğu, uzunluğu Whisper bildirir, və ən azı dosya boyuna izin verir, Whisper'in per-minute qiyməti ilə normal xərclər və marj, və ən azı 0.05 kredit bir istefa. 402 VVD - Hollandiyada futbolçu bu adla tanımır, orada VVD daha çox mərkəz-sağı təmsilən edən siyasi partiyanın adının qısaltması kimi bilinir - artıq sorğu-suala ehtiyacı olmayan ulduzdu.
Reaksiya
{
"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 Təsadüfi texta qaytarılır. srt və vtt subyektləri qaytarmaq və
verbose_json Ümumiyyətlə, bu, bir neçə ildir ki, bir neçə ildir ki, bu problemlər həll olunmasa da, bir neçə ildir ki, bu problemlər həll olunmur.
| Statistika | Nə vaxt |
|---|---|
400 | Xatırladaq ki, bu filmdə heç bir film çəkilməyib.invalid_audioƏsas səhifə / Mədəniyyət / Mədəniyyət / Mədəniyyət / Mədəniyyət (invalid_model). |
402 | Bunu da balansla başa vurmaq mümkün deyil. |
413 | Əsas səhifə 25 MB (file_too_largeƏsas səhifə » Xəbərlər » Əsas səhifə » Əsas səhifə » Əsas səhifə » Əsas səhifə » Əsas səhifə » Əsas səhifə » Əsas səhifə » Əsas səhifə » Əsas səhifə » Əsas səhifəaudio_too_long). |
502 | “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”nin “Qəbələ”in “Qəbələ”in “Qəbələ”in “Qəbələ”in “Qəbələ”in “Qəbələ”in “Qəbələ”in “Qəbələ”in “Qəbələ”in “Qəbələ”in”in “Qəbələ”in “Qəbələ”in”ə... |
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);
İngilis dilində danışıqlar
POST https://nymbot.ai/api/v1/audio/translations - bir API şifresi lazımdır, və ya İstehsal üçün Lightning xəritəsiBəlkə də vücud multipart/form-data.
Təsadüfi olaraq, bu sahələr başqa language“OpenAI” şirkəti “OpenAI” şirkəti “OpenAI” şirkəti “OpenAI” şirkəti “OpenAI” şirkəti “OpenAI” şirkəti “OpenAI” şirkəti “OpenAI” şirkəti “OpenAI” şirkəti “OpenAI” şirkəti “OpenAI” şirkəti “OpenAI” şirkəti “OpenAI” şirkəti “OpenAI” şirkəti “OpenAI” şirkəti 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);
Embeddedlər
Xüsusilə, bir neçə ildir ki, bu problemlər həll olunacaq, bir neçə il sonra bu problemlər həll olunacaq.
POST https://nymbot.ai/api/v1/embeddings - bir API şifresi lazımdır, və ya İstehsal üçün Lightning xəritəsi.
| Fieldə | Tipi | İhtiyaç | Açıqlama |
|---|---|---|---|
model | Stringlər | Bəli | Bir neçə modeldən GET /api/v1/models?type=embedding. |
input | String və ya array | Bəli | Xatırladaq ki, bu, bir neçə ildir ki, ABŞ-ın ABŞ-a getməyəcəyini göstərə bilmədi.token_input_unsupportedHər bir model modelin özünə uyğun olmalıdır. context_lengthDörd ildir ki, bu barədə məlumat yayılıb. |
encoding_format | Stringlər | Yəqin | float (Müsəlmanlar və ya base64 (Mənim 32-ci dəqiqəlik mövsümümüm var) |
dimensions | İnter | Yəqin | Modelin özü, ya da modelin supported_dimensions Vektorun qiyməti azaldılır və normallaşdırılır. |
| Modeli | Dimensiyanın | Kontekst |
|---|---|---|
@cf/baai/bge-m3 | 1024 saylı dil | 8 192 ədəd |
@cf/qwen/qwen3-embedding-0.6b | 1024 saylı dil | 8 192 ədəd |
@cf/baai/bge-large-en-v1.5 | 1024 - İngilis dilində | 512 nəfər |
@cf/baai/bge-base-en-v1.5 | 768, İngilis dilində | 512 nəfər |
@cf/baai/bge-small-en-v1.5 | İngilis dilində 384 | 512 nəfər |
“Google”un “EmbeddingGemma”, istənilənə görə daha az vektorlar olan “EmbeddingGemma”, katalogda bunun üçün bir qiymət olduğu zaman da orada görünür.
Reaksiya
{
"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 }
}
| Statistika | Nə vaxt |
|---|---|
400 | Əsas səhifə / İqtisadi / İqtisadi / İqtisadi / İqtisadi / İqtisadi / İqtisadi / İqtisaditoken_input_unsupportedƏsas səhifə (too_many_inputsƏsas səhifə » Xəbərlər » Dərslər (input_too_longBir neçə ildir ki, bu problemlər həll olunmayıb.unsupported_dimensions). |
402 | Standard balansı çox azdır.Inbeddings heç vaxt Pro balansını istifadə etmir. |
404 | Bu adın altında model olmayıb. |
502 | Modeli qəbul etməmişəm, heç bir problem yoxdur. |
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);