Arible Stock Image AI

Unlimited AI-generated stock images for a flat $25/month, delivered instantly through secure signed URLs. Generate once, cache forever, and use the images anywhere just like a normal CDN asset.
01 // Live Sandbox PUBLIC DEMO KEYS LOADED

Test the API immediately using the default public credentials.
This key allows rate-limited access for testing.

02 // Commercial Access
01. PRICING Unlimited Access $25 / Month
Flat rate. No per-image fees.
High concurrency limits.
02. SUBSCRIBE PayPal Secure
03. ACTIVATE Email Keys Email your Public Key & Subscription ID to me.
me@simdijinkins.com
03 // Integration Guide
A. FRONTEND IMPLEMENTATION

Requests must be signed server-side. Once signed, the URL works as a standard CDN resource.

<img 
  src="https://img.arible.co/cyberpunk%20detective.webp?sig=...&expires=..." 
  alt="Generated Asset"
/>

URL Structure: GET /<prompt>.<ext>

  • ext: webp, png, jpg
  • sig: Hex signature generated by your backend
  • expires: UNIX timestamp
  • seed: (Optional) Integer for deterministic output
B. NODE.JS BACKEND EXAMPLE
const crypto = require('crypto');

function signUrl(prompt, ext = 'webp', seed = 67) {
  const HOST = "https://img.arible.co";
  const path = `/${encodeURIComponent(prompt)}.${ext}`;
  const expires = Math.floor(Date.now() / 1000) + 3600; 
  
  // Format: path:expires:seed
  const payload = `${path}:${expires}:${seed}`;
  
  const signature = crypto.sign(null, 
    Buffer.from(payload), 
    crypto.createPrivateKey(process.env.PRIVATE_KEY)
  ).toString('hex');

  return `${HOST}${path}?sig=${signature}&expires=${expires}&seed=${seed}`;
}
C. PYTHON BACKEND EXAMPLE
import time, urllib.parse
from cryptography.hazmat.primitives import serialization

def sign_url(prompt, private_key_pem, ext="webp", seed=67):
    path = f"/{urllib.parse.quote(prompt)}.{ext}"
    expires = int(time.time()) + 3600
    payload = f"{path}:{expires}:{seed}".encode('utf-8')

    priv_key = serialization.load_pem_private_key(
        private_key_pem.encode(), 
        password=None
    )
    signature = priv_key.sign(payload).hex()

    return f"https://img.arible.co{path}?sig={signature}&expires={expires}&seed={seed}"
D. ERROR CODES & CACHING
  • Caching: Returns Cache-Control: immutable. Repeated requests for same prompt+seed are zero cost.
  • 401: Bad Signature
  • 403: Unauthorized Key (Payment Required)
  • 500: Generation Failed
04 // Key Management

Ready to subscribe? Generate your own key pair.
Email us the PUBLIC KEY. Keep the PRIVATE KEY on your server.