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 बार पुनः प्रयास करता है घातीय 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बाहरी निर्भरता त्रुटि