Developer
API Reference
FractalQ lets you build visual AI pipelines and expose them as REST APIs. Connect nodes on the canvas, publish a session, and call it from anywhere — no infrastructure needed.
Quick Start
Sign in
Open the dashboard and create a free account.
Build
Drag AI nodes onto the canvas and wire them together.
Publish
Hit Publish — your pipeline becomes a live REST API instantly.
Call
POST to the execute endpoint with your inputs and get outputs back.
Execute Endpoint
/api/node/api/{apiKey}/executeRuns the published pipeline synchronously and returns all outputs. For pipelines that take more than a few seconds, use async: true instead.
Request
curl -X POST https://fractalq.com/api/node/api/{apiKey}/execute \
-H "Content-Type: application/json" \
-d '{
"inputs": {
"image_url": "https://example.com/image.jpg",
"command": "enhance and upscale"
}
}'Response · 200
{
"success": true,
"outputs": {
"result_url": "https://storage.fractalq.com/out/abc123.jpg",
"metadata": { "scale": 4, "width": 4096, "height": 4096 }
},
"executionMs": 3420
}Body Parameters
inputs*Key/value pairs matching your session's input nodes.
asyncSet true to run asynchronously. Returns jobId immediately.
callbackUrlHTTPS endpoint to receive results when async is true.
_jobIdOptional idempotency key for deduplication.
Get Session Docs
/api/node/api/{apiKey}/docsReturns the full input/output schema, usage examples, and environment variable for a specific session. Useful for introspection and generating client SDKs.
GET https://fractalq.com/api/node/api/{apiKey}/docsResponse · 200
{
"success": true,
"apiKey": "abc123...",
"apiUrl": "https://fractalq.com/api/node/api/abc123.../execute",
"inputSchema": {
"image_url": { "type": "string", "required": true, "description": "Image URL to process" }
},
"outputSchema": {
"result_url": { "type": "string", "description": "Processed image URL" }
},
"inputExamples": {
"image_url": "https://example.com/image.jpg"
}
}Async Processing
Long-running pipelines (e.g. 4× upscaling) can exceed HTTP timeout limits. Pass async: true to queue the job and receive results via a callback instead of waiting for the response.
curl -X POST https://fractalq.com/api/node/api/{apiKey}/execute \
-H "Content-Type: application/json" \
-d '{
"inputs": { "image_url": "https://example.com/image.jpg" },
"async": true,
"callbackUrl": "https://yourapp.com/api/fractalq/callback",
"_jobId": "job-abc-123"
}'Your callbackUrl must be a publicly reachable HTTPS endpoint. FractalQ will POST the same response shape as a synchronous call, plus a _jobId field.
Response Codes
Pipeline completed. Outputs returned in response body.
Job queued (async mode). Results delivered via callback URL.
Missing required inputs or malformed request body.
API key not found or session not published.
Input validation failed (e.g. unreachable image URL).
Rate limit exceeded. Slow down requests.
AI processing failed. Check logs or retry.
Error Response Shape
{
"success": false,
"error": "Missing required input: image_url",
"code": "MISSING_INPUT"
}Node Types
Each node type performs a specific AI operation. Combine them on the canvas to build multi-step pipelines.
Image Processing
IMAGE__UPSCALE
4× upscale via Real-ESRGAN. Input: image URL. Output: upscaled image URL.
IMAGE__OCR
Text extraction supporting Arabic & English via PaddleOCR.
IMAGE__NSFW_GATE
NSFW detection & filter. Blocks pipeline if explicit content is detected.
IMAGE__WATERMARK
Detects and localizes watermarks. Returns bounding boxes and confidence.
I/O
INPUT__IMAGE
Accepts an image_url string. Entry point for image-based pipelines.
OUTPUT__
Pipeline output sink. Collects and returns all upstream results.
Authentication
The execute endpoint is public — no Authorization header required. Access is controlled entirely by the API key embedded in the URL. Treat your API key like a password.
Keep it secret
Never expose your API key in client-side code or public repos.
Rotate anytime
Regenerate your key from the dashboard. Old keys are revoked immediately.
Scope by pipeline
Each published session gets its own key — scope access per use case.
# Your API key is part of the URL — no headers needed
POST https://fractalq.com/api/node/api/YOUR_API_KEY/execute