API دستاویزات
API کلید کے ذریعے تمام AI خصوصیات کال کریں، استعمال کے مطابق ادائیگی، چند کوڈ لائنوں میں انضمام۔
تصدیق
تمام API درخواستوں میں Authorization ہیڈر ہونا چاہیے۔
Authorization: Bearer sk-xxxxxxxxxxxxxxxx
کنسول میں „API کلیدیں" پیج سے API کلید حاصل کریں۔ فی اکاؤنٹ ایک کلید۔ کنسول میں ری سیٹ؛ پرانی فوراً منسوخ۔
کام بنائیں
https://nsfwrouter.xyz/api/v1/tasks/create
GPU کلسٹر کو AI کام بھیجیں۔ کام غیر ہم وقت، ID لوٹاتے ہیں۔ API یا Webhook سے نتائج۔
| پیرامیٹر | قسم | لازمی | وضاحت |
|---|---|---|---|
| tool_id | int | ہاں | ٹول ID، ٹول فہرست سے |
| params | object | ہاں | کام پیرامیٹرز، JSON object، فیلڈز ٹول پر منحصر |
| webhook_url | string | نہیں | مکمل ہونے کی اطلاع کے لیے callback URL |
| priority | int | نہیں | کام ترجیح 1-10، پہلے سے طے شدہ 5 |
| idempotency_key | string | نہیں | Idempotency کلید، نقلی سے روکتی ہے |
| execution_options | object | نہیں | عمل درآمد اختیارات، JSON object |
curl -X POST https://nsfwrouter.xyz/api/v1/tasks/create \
-H "Authorization: Bearer sk-xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"tool_id": 1,
"params": {
"image": "https://example.com/photo.jpg",
"prompt": "a beautiful landscape"
},
"webhook_url": "https://your-server.com/webhook"
}'
{
"code": 0,
"message": "success",
"data": {
"task": {
"id": 123,
"status": 0,
"consume_coins": 5
},
"message": "task_submitted"
}
}
کال سے پہلے بیلنس چیک کیا جاتا ہے۔ ناکافی = خرابی insufficient_coins۔ سکے کامیاب بھیج پر کاٹے جاتے ہیں۔
کام استفسار
https://nsfwrouter.xyz/api/v1/tasks/query
ID سے تفصیلات اور حیثیت استفسار۔ پروسیسنگ کے دوران، حیثیت GPU کلسٹر سے۔ 10 سیکنڈ کے اندر دہرائے گئے استفسارات DB cache لوٹاتے ہیں۔
| پیرامیٹر | قسم | لازمی | وضاحت |
|---|---|---|---|
| id | int | ہاں | کام ID |
{
"code": 0,
"message": "success",
"data": {
"task": {
"id": 123,
"status": 1,
"task_output_json": [
{
"type": "image",
"url": "https://cdn.example.com/outputs/abc123.png",
"file_name": "abc123.png",
"file_size": 1024000,
"mime_type": "image/png",
"width": 1024,
"height": 1024
}
],
"consume_coins": 5,
"created_at": 1718200000,
"completed_at": 1718200015
}
}
}
| status | معنی |
|---|---|
| 0 | پروسیسنگ |
| 1 | مکمل |
| -1 | منسوخ |
| -2 | ناکام |
کام فہرست
https://nsfwrouter.xyz/api/v1/tasks
اکاؤنٹ کاموں کی صفحہ بند استفسار، ٹول، حیثیت اور مدت پر فلٹر کے ساتھ۔
| پیرامیٹر | قسم | لازمی | وضاحت |
|---|---|---|---|
| page | int | نہیں | صفحہ نمبر، پہلے سے طے شدہ 1 |
| page_size | int | نہیں | صفحہ سائز، پہلے سے طے شدہ 20، زیادہ سے زیادہ 50 |
| tool_id | int | نہیں | ٹول سے فلٹر |
| status | int | نہیں | حیثیت سے فلٹر (0/1/-1/-2) |
| days | int | نہیں | مدت دنوں میں، پہلے سے طے شدہ 30 |
{
"code": 0,
"message": "success",
"data": {
"list": [
{
"id": 123,
"tool_id": 1,
"status": 1,
"task_output_json": [
{
"type": "image",
"url": "https://cdn.example.com/outputs/abc123.png",
"file_name": "abc123.png",
"file_size": 1024000,
"mime_type": "image/png",
"width": 1024,
"height": 1024
}
],
"error": null,
"consume_coins": 5,
"created_at": 1718200000,
"completed_at": 1718200015
},
{
"id": 122,
"tool_id": 3,
"status": 0,
"task_output_json": [],
"error": null,
"consume_coins": 10,
"created_at": 1718199000,
"completed_at": 0
}
],
"page": 1,
"page_size": 20
}
}
| فیلڈ | قسم | وضاحت |
|---|---|---|
| type | string | نتیجہ قسم: image یا video |
| url | string | نتیجہ فائل کے لیے CDN URL |
| file_name | string | فائل نام |
| file_size | int | فائل سائز (بائٹس) |
| mime_type | string | MIME قسم، مثلاً image/png, video/mp4 |
| width | int | چوڑائی (پکسلز) |
| height | int | اونچائی (پکسلز) |
اکاؤنٹ بیلنس
https://nsfwrouter.xyz/api/v1/account/balance
سکہ بیلنس، کل ری چارج اور کل کھپت چیک کریں۔
{
"code": 0,
"message": "success",
"data": {
"remain_coins": 5000,
"total_coins": 10000,
"used_coins": 5000
}
}
Webhook callback
اگر webhook_url متعین ہے، مکمل، ناکامی یا منسوخی پر POST بھیجا جاتا ہے۔ Body JSON۔
Content-Type: application/json
Accept: application/json
User-Agent: OpenAPI-Webhook/1.0
{
"event": "task.finished",
"task": {
"id": 123,
"status": 1,
"task_output_json": [
{
"type": "image",
"url": "https://cdn.example.com/outputs/abc123.png",
"file_name": "abc123.png",
"file_size": 1024000,
"mime_type": "image/png",
"width": 1024,
"height": 1024
}
],
"consume_coins": 5,
"created_at": 1718200000,
"completed_at": 1718200015
}
}
آپ کا سرور HTTP 2xx لوٹانا چاہیے۔ Non-2xx یا timeout (10 سیکنڈ) پر، سسٹم 5 بار دوبارہ کوشش کرتا ہے exponential backoff کے ساتھ۔
خرابی کوڈز
تمام خرابی جوابات فارمیٹ: {"code": کوڈ, "message": "identifier", "data": {}}
| خرابی کوڈ | message | وضاحت |
|---|---|---|
| 20001 | api_key_required | API کلید فراہم نہیں |
| 20001 | invalid_api_key | غیر درست API کلید |
| 20001 | ip_not_allowed | IP whitelist میں نہیں |
| 20001 | permission_denied | رسائی مسترد |
| 30001 | tool_not_found | ٹول نہیں ملا |
| 30001 | task_not_found | کام نہیں ملا |
| 30001 | insufficient_coins | ناکافی سکہ بیلنس |
| 30001 | task_submit_failed | کام بھیجنا ناکام |
| 30001 | task_query_failed | کام استفسار ناکام |
| 30001 | task_already_exists | کام پہلے سے موجود (idempotency) |
| 40001 | tool_id_required | پیرامیٹر tool_id غائب |
| 40001 | param_error | پیرامیٹر خرابی |
| 40001 | webhook_url_invalid | غیر درست webhook_url فارمیٹ |
| 40001 | params_must_be_json_object_or_array | params JSON object یا array ہونا چاہیے |
| 40001 | execution_options_must_be_json_object_or_array | execution_options JSON object یا array ہونا چاہیے |
| حد | زمرہ |
|---|---|
| 1xxxx | سسٹم خرابی |
| 2xxxx | تصدیق خرابی |
| 3xxxx | کاروباری منطق خرابی |
| 4xxxx | پیرامیٹر خرابی |
| 5xxxx | بیرونی انحصار خرابی |