{"openapi":"3.1.0","info":{"title":"Hellas FLUX pilot","version":"0.1.0","description":"Mode: live. One image per authorized payment. Inference supplied by DeepInfra in live mode."},"servers":[{"url":"https://19mg6h5z072zjw-3000.proxy.runpod.net"}],"paths":{"/v1/images/generations":{"post":{"summary":"Generate one image","parameters":[{"in":"header","name":"Idempotency-Key","required":true,"description":"Secret recovery capability: 32 random bytes as hex; preserve across retries.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}},{"in":"header","name":"PAYMENT-SIGNATURE","required":false,"description":"x402 v2 signed payment payload from the official buyer SDK.","schema":{"type":"string"}},{"in":"header","name":"X-Hellas-Source","required":false,"schema":{"type":"string","maxLength":40}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["prompt"],"properties":{"prompt":{"type":"string","minLength":1,"maxLength":4000},"model":{"type":"string","enum":["black-forest-labs/FLUX-2-klein-4b"],"default":"black-forest-labs/FLUX-2-klein-4b"},"size":{"type":"string","enum":["1024x1024"],"default":"1024x1024"},"n":{"type":"integer","enum":[1],"default":1}}},"example":{"prompt":"A yellow sailboat on a blue sea, editorial illustration"}}}},"responses":{"200":{"description":"Stored image and confirmed payment","content":{"application/json":{"schema":{"type":"object","required":["created","data","request_id","media_type","price_usdc","price_version","upstream_provider"],"properties":{"created":{"type":"integer"},"data":{"type":"array","minItems":1,"maxItems":1,"items":{"type":"object","required":["b64_json"],"properties":{"b64_json":{"type":"string","contentEncoding":"base64"}}}},"request_id":{"type":"string","format":"uuid"},"media_type":{"type":"string","enum":["image/png","image/jpeg","image/webp"]},"price_usdc":{"type":"string"},"price_version":{"type":"integer"},"upstream_provider":{"type":"string"},"receipt":{"type":"object"}}}}}},"202":{"description":"Processing: poll the capability-protected status route","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"request_id":{"type":"string"}}}}}},"400":{"description":"Request rejected or failed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"request_id":{"type":"string"}}}}}},"402":{"description":"x402 payment required","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"request_id":{"type":"string"}}}}}},"409":{"description":"Conflict or expired quote","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"request_id":{"type":"string"}}}}}},"413":{"description":"Request rejected or failed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"request_id":{"type":"string"}}}}}},"415":{"description":"Request rejected or failed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"request_id":{"type":"string"}}}}}},"429":{"description":"Request rejected or failed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"request_id":{"type":"string"}}}}}},"502":{"description":"Request rejected or failed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"request_id":{"type":"string"}}}}}},"503":{"description":"Request rejected or failed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"request_id":{"type":"string"}}}}}}}}},"/v1/requests/{request_id}":{"get":{"summary":"Recover a request without paying again","security":[{"recoveryCapability":[]}],"parameters":[{"in":"path","name":"request_id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Image and receipt","content":{"application/json":{"schema":{"type":"object","required":["created","data","request_id","media_type","price_usdc","price_version","upstream_provider"],"properties":{"created":{"type":"integer"},"data":{"type":"array","minItems":1,"maxItems":1,"items":{"type":"object","required":["b64_json"],"properties":{"b64_json":{"type":"string","contentEncoding":"base64"}}}},"request_id":{"type":"string","format":"uuid"},"media_type":{"type":"string","enum":["image/png","image/jpeg","image/webp"]},"price_usdc":{"type":"string"},"price_version":{"type":"integer"},"upstream_provider":{"type":"string"},"receipt":{"type":"object"}}}}}},"202":{"description":"Still processing or awaiting reconciliation"},"404":{"description":"Unknown request or wrong capability"},"410":{"description":"Result unavailable or expired"},"502":{"description":"Generation or payment failed"}}}}},"components":{"securitySchemes":{"recoveryCapability":{"type":"http","scheme":"bearer","description":"Original Idempotency-Key, not a wallet key."}}}}