API دستاویزات

API دستاویزات

API کلید کے ذریعے تمام AI خصوصیات کال کریں، استعمال کے مطابق ادائیگی، چند کوڈ لائنوں میں انضمام۔

تصدیق

تمام API درخواستوں میں Authorization ہیڈر ہونا چاہیے۔

Authorization: Bearer sk-xxxxxxxxxxxxxxxx

کنسول میں „API کلیدیں" پیج سے API کلید حاصل کریں۔ فی اکاؤنٹ ایک کلید۔ کنسول میں ری سیٹ؛ پرانی فوراً منسوخ۔

کام بنائیں

POST https://nsfwrouter.xyz/api/v1/tasks/create

GPU کلسٹر کو AI کام بھیجیں۔ کام غیر ہم وقت، ID لوٹاتے ہیں۔ API یا Webhook سے نتائج۔

درخواست پیرامیٹرز
پیرامیٹر قسم لازمی وضاحت
tool_idintہاںٹول ID، ٹول فہرست سے
paramsobjectہاںکام پیرامیٹرز، JSON object، فیلڈز ٹول پر منحصر
webhook_urlstringنہیںمکمل ہونے کی اطلاع کے لیے callback URL
priorityintنہیںکام ترجیح 1-10، پہلے سے طے شدہ 5
idempotency_keystringنہیںIdempotency کلید، نقلی سے روکتی ہے
execution_optionsobjectنہیںعمل درآمد اختیارات، 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۔ سکے کامیاب بھیج پر کاٹے جاتے ہیں۔

کام استفسار

GET https://nsfwrouter.xyz/api/v1/tasks/query

ID سے تفصیلات اور حیثیت استفسار۔ پروسیسنگ کے دوران، حیثیت GPU کلسٹر سے۔ 10 سیکنڈ کے اندر دہرائے گئے استفسارات DB cache لوٹاتے ہیں۔

استفسار پیرامیٹرز
پیرامیٹر قسم لازمی وضاحت
idintہاںکام 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ناکام

کام فہرست

GET https://nsfwrouter.xyz/api/v1/tasks

اکاؤنٹ کاموں کی صفحہ بند استفسار، ٹول، حیثیت اور مدت پر فلٹر کے ساتھ۔

استفسار پیرامیٹرز
پیرامیٹر قسم لازمی وضاحت
pageintنہیںصفحہ نمبر، پہلے سے طے شدہ 1
page_sizeintنہیںصفحہ سائز، پہلے سے طے شدہ 20، زیادہ سے زیادہ 50
tool_idintنہیںٹول سے فلٹر
statusintنہیںحیثیت سے فلٹر (0/1/-1/-2)
daysintنہیںمدت دنوں میں، پہلے سے طے شدہ 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
  }
}
task_output_json فیلڈ وضاحت
فیلڈ قسم وضاحت
typestringنتیجہ قسم: image یا video
urlstringنتیجہ فائل کے لیے CDN URL
file_namestringفائل نام
file_sizeintفائل سائز (بائٹس)
mime_typestringMIME قسم، مثلاً image/png, video/mp4
widthintچوڑائی (پکسلز)
heightintاونچائی (پکسلز)

اکاؤنٹ بیلنس

GET 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۔

callback درخواست ہیڈرز
Content-Type: application/json
Accept: application/json
User-Agent: OpenAPI-Webhook/1.0
callback درخواست body
{
  "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 وضاحت
20001api_key_requiredAPI کلید فراہم نہیں
20001invalid_api_keyغیر درست API کلید
20001ip_not_allowedIP whitelist میں نہیں
20001permission_deniedرسائی مسترد
30001tool_not_foundٹول نہیں ملا
30001task_not_foundکام نہیں ملا
30001insufficient_coinsناکافی سکہ بیلنس
30001task_submit_failedکام بھیجنا ناکام
30001task_query_failedکام استفسار ناکام
30001task_already_existsکام پہلے سے موجود (idempotency)
40001tool_id_requiredپیرامیٹر tool_id غائب
40001param_errorپیرامیٹر خرابی
40001webhook_url_invalidغیر درست webhook_url فارمیٹ
40001params_must_be_json_object_or_arrayparams JSON object یا array ہونا چاہیے
40001execution_options_must_be_json_object_or_arrayexecution_options JSON object یا array ہونا چاہیے
خرابی کوڈ حدیں
حد زمرہ
1xxxxسسٹم خرابی
2xxxxتصدیق خرابی
3xxxxکاروباری منطق خرابی
4xxxxپیرامیٹر خرابی
5xxxxبیرونی انحصار خرابی