الدخول والمفاتيح كل طلب يحتاج الهيدر Authorization: Bearer <token>. الـ token يا مفتاح API (يبدأ بـ shk_)، يا توكن دخول ياخذه Claude.ai أو ChatGPT لما تربطهم (OAuth، ويبدأ بـ sha_). سوّ مفتاح من صفحة التطوير (Development) في قائمة حسابك. المفتاح يطلع لك مرة وحدة بس. تقدر تلغيه متى ما تبغى، ويوقف على طول. المفتاح ما يقدر يغيّر الدفع والفواتير، ولا يحذف حسابك، ولا يسوّي مفاتيح ثانية. بدون token، أو بواحد غلط، الرد يكون 401. والـ token اللي ما عنده الصلاحية (scope) اللي يحتاجها الطلب يجيه 403 insufficient_scope. كل أداة MCP، والوسائط حقها، ونفس الشي في API الويب.
مثال سوّ لحن curl https://shawarma.studio/v1/songs \
-H "Authorization: Bearer shk_…" \
-H "Content-Type: application/json" \
-d '{"description": "calm 20-second intro for a podcast"}'الرد (مختصر) {
"song": { "id": "calm-20-second-intro", "name": "Calm 20-second intro", "app_url": "https://shawarma.studio/open?song=…" },
"version": { "n": 1 },
"reply": "A soft piano intro with light drums, 20 seconds.",
"job": { "id": "…", "status": "done" }
}الشغل الطويل التلحين والصوت ممكن ياخذون وقت. الطلب ينتظر النتيجة لين wait_seconds (الافتراضي 40، والحد الأقصى 55). لو ما جهزت، الـ Web API يرد 202 مع { job }، وهيدر Location وRetry-After. وخادم MCP يرد بالمهمة ويقول لك تنادي get_job. تحديث Shawarma ما يضيّع الشغل: المهمة تكمل على الخادم اللي بعده. عندك رد ذكاء اصطناعي واحد بس شغّال في نفس الوقت، مشترك مع شات التطبيق. لو طلبت ثاني وواحد شغّال، يجيك 409 busy مع Retry-After. الحدود لكل مفتاح أو اتصال: 300 طلب في 10 دقايق، و30 تلحين في الساعة. الكود لين 100,000 حرف. وأقصى شي 20 مفتاح للشخص. لو تعدّيت حد، الرد يكون 429 مع Retry-After. اربط وكيلك طريقة الإعداد لـ Claude Code وCodex وCursor وClaude.ai وChatGPT موجودة في صفحة المطوّرين.