SyncNode Logo SYNCNODE
Dashboard API Keys Tasks Manual Task Hosting Billing Documentation
Setting
Balance: $78.23
User User
  • Overview
  • Integrations
  • Moderation
  • Auto-Generated Inputs
  • Manual Query & Testing
Documentation
How SyncNode Works & Integrations Guide

Workflow Overview

  1. Submit a task (text, image, etc.) via the dashboard or API.
  2. SyncNode routes your request to the selected provider.
  3. Provider processes the task and returns the result.
  4. View results in the dashboard or receive them via API/webhook.

Integrations

Below are examples for querying different providers. You can use the dashboard, or send requests directly to the API.

ChatGPT (OpenRouter)

cURL
curl -X POST https://run.syncnode.ai/chat-completion \
   -H "Content-Type: application/json" \
   -d '{
     "uid": "__UID-1__",
     "model": "openai/gpt-3.5-turbo-0613",
     "prompt": "Hello, how are you?",
     "messages": [
       { "role": "user", "content": "Hello, how are you?" }
     ],
     "max_tokens": 1000,
     "temperature": 0.7
   }'
JSON
{
  "prediction": {
    "id": 123,
    "uid": "__UID-2__",
    "output": {
      "id": "gen-1751968854-uNrqV6bWitYNYFADH8Y8",
      "provider": "Azure",
      "model": "openai/gpt-3.5-turbo-0613",
      "object": "chat.completion",
      "created": 1751968854,
      "choices": [
        {
          "logprobs": null,
          "finish_reason": "stop",
          "native_finish_reason": "stop",
          "index": 0,
          "message": {
            "role": "assistant",
            "content": "Hello! I'm just a computer program, so I don't have feelings, but I'm here and ready to assist you. How can I help you today?",
            "refusal": null,
            "reasoning": null
          }
        }
      ],
      "system_fingerprint": "fp_0165350fbb",
      "usage": {
        "prompt_tokens": 13,
        "completion_tokens": 33,
        "total_tokens": 46
      }
    },
    "created_at": "2025-07-08T10:00:55.889+00:00",
    "cost": 0.03,
    "model": "openai/gpt-3.5-turbo-0613",
    "prompt": "Hello, how are you?",
    "job_id": "2407ec4e-6a3b-4e4e-88fc-9a7d2eadaabf",
    "status": "completed",
    "updated_at": null,
    "error": null
  }
}

ChatGPT (SyncNode /chatgpt-completion)

cURL
curl -X POST https://run.syncnode.ai/chatgpt-completion \
   -H "Content-Type: application/json" \
   -d '{
     "uid": "__UID-1__",
     "model": "gpt-3.5-turbo",
     "messages": [
       { "role": "user", "content": "Tell me a joke about cats." }
     ],
     "max_tokens": 1000,
     "temperature": 0.7
   }'
JSON
{
  "prediction": {
    "id": 456,
    "uid": "__UID-1__",
    "output": {
      "id": "gen-1751969999-abc123xyz",
      "provider": "OpenAI",
      "model": "gpt-3.5-turbo",
      "object": "chat.completion",
      "created": 1751969999,
      "choices": [
        {
          "logprobs": null,
          "finish_reason": "stop",
          "native_finish_reason": "stop",
          "index": 0,
          "message": {
            "role": "assistant",
            "content": "Why did the cat sit on the computer? Because it wanted to keep an eye on the mouse!",
            "refusal": null,
            "reasoning": null
          }
        }
      ],
      "system_fingerprint": "fp_abcdef123456",
      "usage": {
        "prompt_tokens": 12,
        "completion_tokens": 20,
        "total_tokens": 32
      }
    },
    "created_at": "2025-07-08T10:05:00.000+00:00",
    "cost": 0.03,
    "model": "openai/gpt-3.5-turbo-0613",
    "prompt": null,
    "job_id": "b7e8c4d2-1234-5678-9abc-def012345678",
    "status": "completed",
    "updated_at": null,
    "error": null
  }
}

Replicate

cURL
curl -X POST https://run.syncnode.ai/generate \
   -H "Content-Type: application/json" \
   -d '{
     "uid": "__UID-3__",
     "model": "bytedance/seedance-1-lite",
     "input": {
       "fps": 24,
       "prompt": "a woman walks in the park",
       "duration": 5,
       "resolution": "720p",
       "aspect_ratio": "16:9",
       "camera_fixed": false
     }
   }'
Replicate Image Example
cURL
curl -X POST https://run.syncnode.ai/generate \
  -H "Content-Type: application/json" \
  -d '{
 "uid": "__UID-5__",
 "model": "adirik/realvisxl-v3.0-turbo:3dc73c805b11b4b01a60555e532fd3ab3f0e60d26f6584d9b8ba7e1b95858243",
 "input": {
   "width": 768,
   "height": 768,
   "prompt": "Townhouse",
   "refine": "no_refiner",
   "scheduler": "DPM++_SDE_Karras",
   "num_outputs": 1,
   "guidance_scale": 2,
   "apply_watermark": false,
   "high_noise_frac": 0.8,
   "negative_prompt": "(worst quality, low quality, illustration, 3d, 2d, painting, cartoons, sketch), open mouth",
   "prompt_strength": 0.8,
   "num_inference_steps": 25
 }
}'
JSON
{
  "success": true,
  "job_id": "b6nqrw6zbdrmc0cqwqbr8b3dm8",
  "get": "https://run.syncnode.ai/prediction-status?job_id=bdad3fmj4drmc0cqwqbr8b3dm8",
  "status": "in_progress"
}

Check Replicate Prediction Status

cURL
curl -X GET "https://run.syncnode.ai/prediction-status?job_id=bdad3fmj4drme0cqyeq9bsez00"
JSON
{
  "job_id": "bdad3fmj4drme0cqyeq9bsez00",
  "replicate_status": "completed",
  "output": "https://run.syncnode.ai/gen_12c8e609-58bd-4a47-9619-3520f70d34ea_1752140031948.mp4",
  "updated": false
}

General API Usage (GET)

Each API call deducts $1 from your balance and is logged in your usage history with the timestamp and purpose. Ensure your API keys are set before making calls.

cURL
curl -X GET "https://run.syncnode.ai?uid=__UID-1__&what=replicate" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer replicate_key"
what can be: replicate, chatgpt, huggingface
The Authorization: Bearer ... key must be obtained from the API Keys page.

Moderation

Use the SyncNode Moderation endpoint to check text and/or images in a single request. Supports raw text, imageUrl, or imageBase64 with imageMime.

Text + Image (Single Request)

cURL
curl -X POST "https://moderate.syncnode.ai" \
  -H "Content-Type: application/json" \
  -d '{
  "uid": "__UID-1__",
  "text": "your prompt text goes here or text to moderate",
  "imageUrl": "https://example.com/image.jpg"
}'
JSON
{
  "uid": "013af040-d0c6-464d-83f6-eeb984c1d1e7",
  "text_moderation": {
    "scores": {
      "harassment": 0.00004173157606777201,
      "harassment/threatening": 0.0000072543618230189156,
      "sexual": 0.003077507246275801,
      "hate": 0.000013982207564732913,
      "hate/threatening": 5.422218970016178e-7,
      "illicit": 0.00001177445922838707,
      "illicit/violent": 0.000009915273115920183,
      "self-harm/intent": 0.0000021782649863110498,
      "self-harm/instructions": 0.0000017778551863194697,
      "self-harm": 0.000006976470974169522,
      "sexual/minors": 0.000026947915555885546,
      "violence": 0.0005523259629862285,
      "violence/graphic": 0.000009461262661302227
    },
    "nudity": 0,
    "underage": 0,
    "vulgar": 0,
    "safe": 1
  },
  "image_moderation": {
    "scores": {
      "harassment": 0,
      "harassment/threatening": 0,
      "sexual": 0.00007208380258812108,
      "hate": 0,
      "hate/threatening": 0,
      "illicit": 0,
      "illicit/violent": 0,
      "self-harm/intent": 0.00024050606249465073,
      "self-harm/instructions": 0.00021212635591789767,
      "self-harm": 0.004666379063811742,
      "sexual/minors": 0,
      "violence": 0.02302957246214866,
      "violence/graphic": 0.0015974764130775882
    },
    "nudity": 0,
    "underage": 0,
    "vulgar": 0,
    "safe": 1
  },
  "overall_moderation": {
    "nudity": 0,
    "underage": 0,
    "vulgar": 0,
    "safe": 1
  }
}

Text Only

cURL
curl -X POST "https://moderate.syncnode.ai" \
  -H "Content-Type: application/json" \
  -d '{
  "uid": "__UID-1__",
  "text": "your prompt text goes here or text to moderate"
}'
JSON
{
  "uid": "013af040-d0c6-464d-83f6-eeb984c1d1e7",
  "text_moderation": {
    "scores": {
      "harassment": 0.00004173157606777201,
      "harassment/threatening": 0.0000072543618230189156,
      "sexual": 0.003077507246275801,
      "hate": 0.000013982207564732913,
      "hate/threatening": 5.422218970016178e-7,
      "illicit": 0.00001177445922838707,
      "illicit/violent": 0.000009915273115920183,
      "self-harm/intent": 0.0000021782649863110498,
      "self-harm/instructions": 0.0000017778551863194697,
      "self-harm": 0.000006976470974169522,
      "sexual/minors": 0.000026947915555885546,
      "violence": 0.0005523259629862285,
      "violence/graphic": 0.000009461262661302227
    },
    "nudity": 0,
    "underage": 0,
    "vulgar": 0,
    "safe": 1
  },
  "overall_moderation": {
    "nudity": 0,
    "underage": 0,
    "vulgar": 0,
    "safe": 1
  }
}

Image Only (URL)

cURL
curl -X POST "https://moderate.syncnode.ai" \
  -H "Content-Type: application/json" \
  -d '{
  "uid": "__UID-1__",
  "imageUrl": "https://example.com/image.jpg"
}'
JSON
{
  "uid": "013af040-d0c6-464d-83f6-eeb984c1d1e7",
  "image_moderation": {
    "scores": {
      "harassment": 0,
      "harassment/threatening": 0,
      "sexual": 0.00007208380258812108,
      "hate": 0,
      "hate/threatening": 0,
      "illicit": 0,
      "illicit/violent": 0,
      "self-harm/intent": 0.00024050606249465073,
      "self-harm/instructions": 0.00021212635591789767,
      "self-harm": 0.004666379063811742,
      "sexual/minors": 0,
      "violence": 0.02302957246214866,
      "violence/graphic": 0.0015974764130775882
    },
    "nudity": 0,
    "underage": 0,
    "vulgar": 0,
    "safe": 1
  },
  "overall_moderation": {
    "nudity": 0,
    "underage": 0,
    "vulgar": 0,
    "safe": 1
  }
}

Image Only (Base64)

cURL
curl -X POST "https://moderate.syncnode.ai" \
  -H "Content-Type: application/json" \
  -d '{
  "uid": "__UID-1__",
  "imageBase64": "<BASE64_STRING>",
  "imageMime": "image/png"
}'
JSON
{
  "uid": "013af040-d0c6-464d-83f6-eeb984c1d1e7",
  "image_moderation": {
    "scores": {
      "harassment": 0,
      "harassment/threatening": 0,
      "sexual": 0.00007208380258812108,
      "hate": 0,
      "hate/threatening": 0,
      "illicit": 0,
      "illicit/violent": 0,
      "self-harm/intent": 0.00024050606249465073,
      "self-harm/instructions": 0.00021212635591789767,
      "self-harm": 0.004666379063811742,
      "sexual/minors": 0,
      "violence": 0.02302957246214866,
      "violence/graphic": 0.0015974764130775882
    },
    "nudity": 0,
    "underage": 0,
    "vulgar": 0,
    "safe": 1
  },
  "overall_moderation": {
    "nudity": 0,
    "underage": 0,
    "vulgar": 0,
    "safe": 1
  }
}

Auto-Generated Inputs

For advanced users, you can paste a JSON payload and SyncNode will auto-generate input forms for each field. This makes it easy to test and customize queries for any provider.

Manual Query & Testing

  1. Go to the Integrations page (coming soon).
  2. Select a provider and paste your JSON query.
  3. Click Run/Test Query to see the response instantly.
Tip: You can find more integration examples and provider-specific docs in the official documentation or by contacting support.
Add Funds
Billing Details
Please enter your first name.
Please enter your last name.
Please enter a valid phone number.
Please enter your address.
Please enter your city.
Please enter your state.
Please enter your zip code.
Credit / Debit
$
Please enter a valid amount (minimum $25).
Billing Threshold
Set the amount you'll be automatically charged when your balance falls below $0.00.
$
Please enter a valid threshold amount (minimum $10).
Current threshold: $50