معاينة Veyllo API
نقاط نهاية متوافقة مع OpenAI للمحادثة والرؤية والتفريغ الصوتي. وجّه إليها أي عميل OpenAI واعمل بالبنى التي تعرفها — مفتاح واحد لكل شيء.
POST /v1/chat/completions
أرسل الرسائل واستلم الرد — بالبث المتدفق أو دونه. Chat Completions قياسي من OpenAI، نموذج واحد: veyllo-chat.
{
"model": "veyllo-chat",
"messages": [
{ "role": "user", "content": "Summarize this." }
]
}الرؤية — نقطة النهاية نفسها
ضع صورة في أي رسالة — يقرأها veyllo-chat. بلا نموذج منفصل، وبلا إعداد إضافي.
{
"model": "veyllo-chat",
"messages": [{ "role": "user", "content": [
{ "type": "text", "text": "What's in this image?" },
{ "type": "image_url",
"image_url": { "url": "data:image/jpeg;base64,…" } }
]}]
}POST /v1/audio/transcriptions
ارفع الصوت واستلم النص. بنية تفريغ قياسية من OpenAI: تُقاس بالثانية وتُعالَج داخل الاتحاد الأوروبي. نموذج واحد: veyllo-transcribe. مرر language (ar أو en …) لأعلى دقة، أو أغفله فتُكتشف اللغة تلقائيًا.
curl https://api.veyllo.app/v1/audio/transcriptions \
-H "Authorization: Bearer vaf_live_…" \
-F file=@meeting.mp3 \
-F model=veyllo-transcribe \
-F language=de
{ "text": "Guten Morgen, fangen wir an…" }متوافقة دون تغيير شيء
أتستخدم SDK من OpenAI بالفعل؟ غيّر سطرين — وأنت على Veyllo.
from openai import OpenAI
client = OpenAI(
api_key="vaf_live_…",
base_url="https://api.veyllo.app/v1",
)
client.chat.completions.create(
model="veyllo-chat",
messages=[{"role": "user", "content": "Hello!"}],
)
client.audio.transcriptions.create(
model="veyllo-transcribe",
file=open("meeting.mp3", "rb"),
)