API Documentation

Intégrez la génération de palettes IA dans vos applications avec notre API REST.

Base URL

https://api.paletteia.com/v1

Toutes les requêtes doivent être effectuées en HTTPS. L'API est disponible uniquement pour les utilisateurs Premium.

Authentification

L'API utilise des clés API pour l'authentification. Incluez votre clé dans l'en-tête de chaque requête :

X-API-Key: sk_live_votre_cle_api

Ou via l'en-tête Authorization :

Authorization: Bearer sk_live_votre_cle_api

Obtenir une clé API

Les clés API sont disponibles avec le plan Premium. Créez votre clé depuis votre dashboard.

Voir les plans →
POST/v1/palettes/generate

Générer des palettes

Génère des palettes de couleurs harmonieuses à partir d'une description textuelle.

Paramètres de requête

ParamètreTypeDescription
prompt*stringDescription du projet ou de l'ambiance souhaitée (max 500 caractères)
countintegerNombre de palettes à générer (1-10, défaut: 5)

Exemple de requête

curl -X POST https://api.paletteia.com/v1/palettes/generate \
  -H "X-API-Key: sk_live_votre_cle_api" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "Application de méditation zen et apaisante",
    "count": 3
  }'

Exemple de réponse

{
  "object": "palette.list",
  "data": [
    {
      "name": "Zen Garden",
      "description": "Palette apaisante inspirée des jardins japonais",
      "colors": ["#E8E4E1", "#B5C4B1", "#7A8B7A", "#4A5D4A", "#2C3E2C"],
      "semantic": {
        "primary": "#7A8B7A",
        "secondary": "#B5C4B1",
        "background": "#E8E4E1",
        "text": "#2C3E2C",
        "accent": "#4A5D4A"
      }
    }
  ],
  "count": 3,
  "metadata": {
    "model": "gpt-4-turbo",
    "tokensUsed": 450,
    "estimatedCost": 0.0135
  },
  "usage": {
    "remaining": "unlimited",
    "limit": "unlimited",
    "resetDate": "2024-02-01T00:00:00.000Z"
  }
}
POST/v1/palettes/export

Exporter une palette

Exporte une palette dans différents formats (CSS, Tailwind, SCSS, Figma, Adobe, PNG).

Paramètres de requête

ParamètreTypeDescription
palette*objectObjet palette avec name et colors (tableau de 5 couleurs hex)
formatstringFormat d'export: png, css, tailwind, scss, figma, adobe (défaut: css)

Exemple de requête

curl -X POST https://api.paletteia.com/v1/palettes/export \
  -H "X-API-Key: sk_live_votre_cle_api" \
  -H "Content-Type: application/json" \
  -d '{
    "palette": {
      "name": "Zen Garden",
      "colors": ["#E8E4E1", "#B5C4B1", "#7A8B7A", "#4A5D4A", "#2C3E2C"]
    },
    "format": "css"
  }'

Exemple de réponse (CSS)

:root {
  --color-1: #E8E4E1;
  --color-2: #B5C4B1;
  --color-3: #7A8B7A;
  --color-4: #4A5D4A;
  --color-5: #2C3E2C;
}

Formats disponibles

png Image PNG
css Variables CSS
tailwind Config Tailwind
scss Variables SCSS
figma JSON Figma
adobe JSON Adobe
GET/v1/palettes/history

Historique des palettes

Récupère l'historique des palettes générées via l'API.

Paramètres de requête (query string)

ParamètreTypeDescription
limitintegerNombre de résultats (1-100, défaut: 50)
offsetintegerDécalage pour la pagination (défaut: 0)

Exemple de requête

curl https://api.paletteia.com/v1/palettes/history?limit=10&offset=0 \
  -H "X-API-Key: sk_live_votre_cle_api"

Exemple de réponse

{
  "object": "list",
  "data": [
    {
      "type": "palette",
      "data": {
        "prompt": "Application de méditation",
        "palettes": [...]
      },
      "date": "2024-01-15T14:30:00.000Z"
    }
  ],
  "count": 10,
  "hasMore": true,
  "usage": {
    "remaining": "unlimited",
    "limit": "unlimited"
  }
}
GET/v1/palettes/usage

Usage de l'API

Vérifie l'utilisation de votre clé API et les limites.

Exemple de requête

curl https://api.paletteia.com/v1/palettes/usage \
  -H "X-API-Key: sk_live_votre_cle_api"

Exemple de réponse

{
  "object": "usage",
  "data": {
    "current": 142,
    "limit": "unlimited",
    "remaining": "unlimited",
    "resetDate": "2024-02-01T00:00:00.000Z",
    "totalRequests": 1250,
    "lastUsed": "2024-01-15T14:30:00.000Z"
  }
}

Headers de rate-limit

Chaque réponse inclut des headers pour suivre votre utilisation :

X-RateLimit-Limit: Limite totale par mois
X-RateLimit-Remaining: Requêtes restantes
X-RateLimit-Reset: Date de réinitialisation (ISO 8601)

Codes d'erreur

CodeErreurDescription
400invalid_requestRequête invalide (paramètres manquants ou incorrects)
401unauthorizedClé API manquante ou invalide
403forbiddenAccès refusé (permissions insuffisantes ou plan inadapté)
429rate_limit_exceededLimite de requêtes atteinte
500internal_errorErreur serveur interne
503service_unavailableService IA temporairement indisponible

Format de réponse d'erreur

{
  "error": "invalid_request",
  "message": "The "prompt" parameter is required and must be a non-empty string"
}

Caractéristiques

Rapide

Réponse en moins de 3 secondes

Sécurisée

HTTPS + authentification par clé API

RESTful

API REST standard, facile à intégrer

Prêt à utiliser l'API ?

L'accès API est inclus dans le plan Premium (75€/90 jours)