Flux Ultra Resolution

Images de qualité maximale avec des détails et une résolution extrêmes.

✓ Résolution 4K

✓ Détails extrêmes

✓ Qualité RAW

✓ Rendu professionnel

Authentification

Pour accéder à Flux Ultra via l'API Doitong, utilisez votre clé API Doitong. Incluez-la dans la mutation GraphQL ou dans les en-têtes de l'API REST.

Important: Gardez votre clé API Doitong en sécurité et ne l'exposez jamais dans le code côté client. Effectuez toujours vos appels API à partir de votre serveur backend.
// GraphQL Header
{
  "Authorization": "Bearer YOUR_API_KEY"
}

// REST Header
"X-API-Key": "YOUR_API_KEY"

Démarrage rapide

Commencez à utiliser Flux Ultra API en quelques minutes seulement. Suivez ces étapes simples pour générer votre premier text to image.

Étape 1 : Obtenez votre clé API

Inscrivez-vous à un compte Doitong et accédez à votre tableau de bord pour générer une clé API.

Étape 2 : Effectuez votre première requête

Utilisez l'un des exemples de code ci-dessous pour effectuer votre premier appel API.

curl -X POST https://api.doitong.com/graphql \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "query": "mutation Generate($input: GenerateInput!) { generate(input: $input) { id status type provider url metadata creditCost } }",
    "variables": {
      "input": {
        "type": "IMAGE",
        "provider": "flux-ultra",
        "input": {
          "text": "A futuristic city with flying cars and neon lights"
        },
        "options": {
          "width": 1024,
          "height": 1024
        }
      }
    }
  }'
const response = await fetch('https://api.doitong.com/graphql', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer YOUR_API_KEY'
  },
  body: JSON.stringify({
    query: `
      mutation GenerateImage($input: ImageGenerationInput!) {
        generateImage(input: $input) {
          id
          url
          width
          height
        }
      }
    `,
    variables: {
      input: {
        service: 'flux-ultra',
        prompt: 'A futuristic city with flying cars and neon lights',
        width: 1024,
        height: 1024
      }
    }
  })
});

const data = await response.json();
console.log('Image:', data.data.generateImage);
import requests
import json

url = "https://api.doitong.com/graphql"
headers = {
    "Content-Type": "application/json",
    "Authorization": "Bearer YOUR_API_KEY"
}

query = """
mutation Generate($input: GenerateInput!) {
  generate(input: $input) {
    id
    status
    type
    provider
    url
    metadata
    creditCost
  }
}
"""

variables = {
    "input": {
        "type": "IMAGE",
        "provider": "flux-ultra",
        "input": {
            "text": "A futuristic city with flying cars and neon lights"
        },
        "options": {
            "width": 1024,
            "height": 1024
        }
    }
}

response = requests.post(url, json={
    "query": query,
    "variables": variables
}, headers=headers)

data = response.json()
print("Result:", data["data"]["generate"])
mutation Generate($input: GenerateInput!) {
  generate(input: $input) {
    id
    status
    type
    provider
    url
    metadata
    creditCost
    createdAt
  }
}

# Variables
{
  "input": {
    "type": "IMAGE",
    "provider": "flux-ultra",
    "input": {
      "text": "A futuristic city with flying cars and neon lights"
    },
    "options": {
      "width": 1024,
      "height": 1024,
      "version": "flux-pro-1.1-ultra",
      "quality": "high"
    }
  }
}

Tarification

Flux Ultra API utilise un modèle de tarification basé sur des crédits. Les crédits sont consommés selon la complexité et la durée du contenu généré.

Fonctionnalité Crédits Description
Résolution standard 10-20 Crédits 512x512 à 1024x1024 pixels
Haute résolution 30-50 Crédits 2048x2048 pixels et plus

Points de terminaison de l'API

Flux Ultra API est accessible via notre point de terminaison GraphQL unifié.

Point de terminaison GraphQL

POST https://api.doitong.com/graphql

Point de terminaison REST

POST https://api.doitong.com/v1/text_to_image

Paramètres

Paramètres disponibles pour les requêtes Flux Ultra API :

Paramètre Type Requis Description
service Chaîne Yes Identifiant du service: "flux-ultra"
prompt Chaîne Yes Description textuelle de ce qu'il faut générer
width Entier No Largeur de l'image en pixels (par défaut : 1024)
height Entier No Hauteur de l'image en pixels (par défaut : 1024)
version Chaîne No Model version: "flux-pro-1.1-ultra"
webhookUrl Chaîne No URL pour recevoir les notifications de fin de traitement

Format de la réponse

Toutes les réponses de l'API suivent un format cohérent :

Réponse de succès

{
  "data": {
    "generateimage": {
      "id": "abc123xyz",
      "status": "processing",
      "url": null,
      "webhookUrl": "https://your-webhook.com/callback",
      "createdAt": "2024-01-01T00:00:00Z"
    }
  }
}

Réponse terminée

{
  "data": {
    "generateimage": {
      "id": "abc123xyz",
      "status": "completed",
      "url": "https://cdn.doitong.com/outputs/abc123xyz.jpg",
      "duration": null,
      "createdAt": "2024-01-01T00:00:00Z"
    }
  }
}

Gestion des erreurs

L'API utilise des codes d'état HTTP standard et renvoie des messages d'erreur détaillés.

Codes d'erreur courants

Code d'état Type d'erreur Description
400 Bad Request Invalid parameters or malformed request
401 Unauthorized Missing or invalid API key
402 Payment Required Insufficient credits
429 Too Many Requests Rate limit exceeded
500 Internal Server Error Server error, please retry

Format de réponse d'erreur

{
  "errors": [
    {
      "message": "Insufficient credits for this operation",
      "extensions": {
        "code": "INSUFFICIENT_CREDITS",
        "creditsRequired": 100,
        "creditsAvailable": 50
      }
    }
  ]
}

Webhooks

Recevez des notifications en temps réel lorsque la génération de votre text to image est terminée.

Configuration des webhooks

Include a <code>webhookUrl</code> parameter in your request to receive a POST notification when processing is complete.

Charge utile (payload) du webhook

{
  "id": "abc123xyz",
  "status": "completed",
  "url": "https://cdn.doitong.com/outputs/abc123xyz.jpg",
  "service": "flux-ultra",
  "createdAt": "2024-01-01T00:00:00Z",
  "completedAt": "2024-01-01T00:01:00Z",
  "metadata": {
    "duration": null,
    "width": 1920,
    "height": 1080
  }
}

Sécurité des webhooks

Toutes les requêtes de webhook incluent un en-tête de signature pour vérification :

X-Doitong-Signature: sha256=abc123...

Limites de débit

Pour garantir une utilisation équitable et la stabilité du système, les limites de débit suivantes s'appliquent :

Forfait Requêtes/minute Tâches simultanées Limite quotidienne
Gratuit 10 1 100
Débutant 30 3 1,000
Pro 60 10 10,000
Entreprise Personnalisé Personnalisé Illimité
En-têtes de limite de débit: Consultez les en-têtes de réponse pour connaître l'état actuel de vos limites :
  • X-RateLimit-Limit: Maximum requests per window
  • X-RateLimit-Remaining: Requests remaining
  • X-RateLimit-Reset: Window reset timestamp

Bonnes pratiques

1. Optimisez vos instructions (prompts)

Rédigez des instructions claires et descriptives pour obtenir les meilleurs résultats :

  • Be specific about visual elements, style, and mood
  • Include details about lighting, camera angles, and composition
  • Avoid contradictory or impossible requests

2. Gérez le traitement asynchrone

La génération est asynchrone. Implémentez un système de sondage (polling) ou des webhooks appropriés :

// Polling example
async function pollStatus(jobId) {
  let status = 'processing';
  while (status === 'processing') {
    await sleep(2000); // Wait 2 seconds
    const result = await checkJobStatus(jobId);
    status = result.status;
  }
  return result;
}

3. Récupération après erreur

Implémentez une logique de tentative (retry) avec un repli exponentiel :

async function retryWithBackoff(fn, maxRetries = 3) {
  for (let i = 0; i < maxRetries; i++) {
    try {
      return await fn();
    } catch (error) {
      if (i === maxRetries - 1) throw error;
      await sleep(Math.pow(2, i) * 1000);
    }
  }
}

4. Surveillez l'utilisation des crédits

Suivez votre consommation de crédits pour éviter toute interruption :

  • Check credit balance before large batch operations
  • Set up alerts for low credit thresholds
  • Implement credit-aware request queuing

Prêt à commencer ?

Rejoignez des milliers de développeurs qui utilisent Flux Ultra API pour créer du contenu incroyable

Obtenir une clé API Voir les tarifs