Armox
    Armox Academy 📚
    Référence APIIntroduction à la Référence APIEndpoint Modèles

    Endpoint Models

    L'API Models vous permet de :

    • découvrir les identifiants de modèles disponibles et leurs paramètres
    • exécuter une génération de modèle par requête

    Chemin de base :

    • https://armox.ai/api/v1/models

    GET /api/v1/models

    Retourne tous les modèles disponibles et leurs métadonnées de configuration.

    Requête

    curl -X GET "https://armox.ai/api/v1/models" \
      -H "Authorization: Bearer sk_live_your_key_here"
    

    Réponse

    Prompt Template
    {
      "object": "list",
      "data": [
        {
          "id": "google/nano-banana",
          "name": "Nano Banana",
          "modality": "image",
          "cost": 70,
          "inputTypes": ["text", "image"],
          "promptRequired": true,
          "outputType": "image",
          "description": "Google image generation and editing model",
          "settings": [
            {
              "key": "aspect_ratio",
              "label": "Aspect Ratio",
              "inputType": "select",
              "defaultValue": "1:1"
            }
          ]
        }
      ]
    }

    POST /api/v1/models/run

    Exécute une génération de modèle.

    Corps de la requête

    Prompt Template
    {
      "model": "google/nano-banana",
      "input": {
        "prompt": "string",
        "image_input": ["https://example.com/image.jpg"]
      },
      "webhook_url": "https://your-app.com/webhooks/armox"
    }

    Champs :

    • model (requis) : identifiant du modèle issu de GET /api/v1/models
    • input (objet optionnel) : entrées et paramètres spécifiques au modèle
    • webhook_url (optionnel) : URL de callback pour les événements de complétion

    Comportement synchrone vs asynchrone

    POST /models/run peut retourner :

    • 200 pour une complétion synchrone (typiquement les sorties image/texte/outil)
    • 202 pour un traitement asynchrone (sorties vidéo/audio/3D)

    Exemple : exécution d'un modèle image (synchrone)

    Requête

    Prompt Template
    curl -X POST "https://armox.ai/api/v1/models/run" \
      -H "Authorization: Bearer sk_live_your_key_here" \
      -H "Content-Type: application/json" \
      -d '{
        "model": "google/nano-banana",
        "input": {
          "prompt": "Turn this into a cinematic night street photo with neon signs and reflections.",
          "image_input": ["https://example.com/reference-image.jpg"],
          "aspect_ratio": "match_input_image",
          "output_format": "png"
        }
      }'

    Réponse typique 200

    {
      "id": "a1b2c3d4-e5f6-7890-ab12-34567890abcd",
      "object": "job",
      "status": "completed",
      "model": "google/nano-banana",
      "output": {
        "outputImage": "https://storage.example.com/public/api-outputs/..."
      },
      "error": null,
      "credits_charged": 70,
      "created_at": "2026-03-26T12:00:00.000Z",
      "completed_at": "2026-03-26T12:00:03.000Z"
    }
    

    Exemple : exécution d'un modèle vidéo (asynchrone)

    Requête

    curl -X POST "https://armox.ai/api/v1/models/run" \
      -H "Authorization: Bearer sk_live_your_key_here" \
      -H "Content-Type: application/json" \
      -d '{
        "model": "xai/grok-video-image-to-video",
        "input": {
          "prompt": "Animate this image with smooth camera movement and subtle environmental motion.",
          "image_input": "https://example.com/reference-image.jpg",
          "duration": 4
        }
      }'
    

    Réponse typique 202

    {
      "id": "f1e2d3c4-b5a6-7890-cd12-34567890efab",
      "object": "job",
      "status": "processing",
      "model": "xai/grok-video-image-to-video",
      "credits_charged": 202,
      "created_at": "2026-03-26T12:10:00.000Z"
    }
    

    Puis interrogez :

    curl -X GET "https://armox.ai/api/v1/jobs/f1e2d3c4-b5a6-7890-cd12-34567890efab" \
      -H "Authorization: Bearer sk_live_your_key_here"
    

    Exemple JavaScript

    const response = await fetch("https://armox.ai/api/v1/models/run", {
      method: "POST",
      headers: {
        Authorization: "Bearer sk_live_your_key_here",
        "Content-Type": "application/json",
      },
      body: JSON.stringify({
        model: "google/nano-banana",
        input: {
          prompt: "High-end product photo on clean white background",
        },
      }),
    });
    
    const job = await response.json();
    console.log(job);
    

    Exemple Python

    import requests
    
    response = requests.post(
        "https://armox.ai/api/v1/models/run",
        headers={
            "Authorization": "Bearer sk_live_your_key_here",
            "Content-Type": "application/json",
        },
        json={
            "model": "google/nano-banana",
            "input": {"prompt": "High-end product photo on clean white background"},
        },
    )
    
    print(response.status_code)
    print(response.json())
    

    Erreurs à gérer

    • 400 payload invalide ou modèle invalide
    • 401 clé API manquante/invalide
    • 402 crédits insuffisants
    • 403 accès restreint par l'abonnement
    • 429 limite de débit dépassée

    Voir les détails complets : Erreurs et limites de débit

    Pages associées

    Prêt à transformer votre workflow créatif ?

    Aucune carte de crédit requise2000 crédits gratuits