Flux Development Model API

Fast development model for quick iterations and prototyping

✓ Fast generation

✓ Development optimized

✓ 50 credits

✓ All aspect ratios

אימות זהות

כדי לגשת ל-Flux Dev API באמצעות ה-API של Doitong, השתמשו במפתח ה-API שלכם. יש לכלול אותו ב-GraphQL mutation או ב-headers של ה-REST API.

חשוב: שמרו על מפתח ה-API של Doitong מאובטח ולעולם אל תחשפו אותו בקוד צד-לקוח. בצעו תמיד את הקריאות ל-API משרת ה-Backend שלכם.
// GraphQL Header
{
  "Authorization": "Bearer YOUR_API_KEY"
}

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

תחילת עבודה מהירה

מתחילים לעבוד עם Flux Dev API תוך דקות ספורות. עקבו אחר הצעדים הפשוטים האלו כדי ליצור את ה-text to image הראשון שלכם.

שלב 1: קבלת מפתח API

הירשמו לחשבון Doitong ועברו ללוח הבקרה (Dashboard) כדי להנפיק מפתח API.

שלב 2: ביצוע הבקשה הראשונה

השתמשו באחת מדוגמאות הקוד להלן כדי לבצע את קריאת ה-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-dev",
        "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-dev',
        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-dev",
        "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-dev",
    "input": {
      "text": "A futuristic city with flying cars and neon lights"
    },
    "options": {
      "width": 1024,
      "height": 1024,
      "version": "flux-dev",
      "quality": "high"
    }
  }
}

תמחור

Flux Dev API פועל במודל תמחור מבוסס קרדיטים. צריכת הקרדיטים נקבעת לפי מורכבות התוכן ומשך הזמן שלו.

תכונה קרדיטים תיאור
רזולוציה סטנדרטית 10-20 קרדיטים 512x512 עד 1024x1024 פיקסלים
רזולוציה גבוהה 30-50 קרדיטים 2048x2048 פיקסלים ומעלה

נקודות קצה (Endpoints)

הגישה ל-Flux Dev API מתבצעת דרך נקודת קצה מאוחדת של GraphQL.

נקודת קצה GraphQL

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

נקודת קצה REST

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

פרמטרים

פרמטרים זמינים עבור בקשות Flux Dev API:

פרמטר סוג חובה תיאור
service String Yes מזהה שירות: "flux-dev"
prompt String Yes תיאור טקסטואלי של מה שברצונכם ליצור
width Integer No רוחב התמונה בפיקסלים (ברירת מחדל: 1024)
height Integer No גובה התמונה בפיקסלים (ברירת מחדל: 1024)
version String No Model version: "flux-dev"
webhookUrl String No כתובת URL לקבלת התראות על סיום התהליך

פורמט תגובה

כל התגובות מה-API מגיעות בפורמט אחיד:

תגובת הצלחה

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

תגובת סיום

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

טיפול בשגיאות

ה-API משתמש בקודי סטטוס HTTP סטנדרטיים ומחזיר הודעות שגיאה מפורטות.

קודי שגיאה נפוצים

קוד סטטוס סוג שגיאה תיאור
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

פורמט תגובת שגיאה

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

וובהוקס (Webhooks)

קבלו התראות בזמן אמת ברגע שתהליך היצירה של ה-text to image מסתיים.

הגדרת וובהוקס

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

Payload של הוובהוק

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

אבטחת וובהוק

כל בקשות הוובהוק כוללות header חתימה לצורכי אימות:

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

מגבלות קצב (Rate Limits)

כדי להבטיח שימוש הוגן ויציבות מערכת, חלות מגבלות הקצב הבאות:

תוכנית בקשות לדקה תהליכים מקבילים מכסה יומית
חינם 10 1 100
Starter 30 3 1,000
Pro 60 10 10,000
Enterprise בהתאמה אישית בהתאמה אישית ללא הגבלה
Headers של מגבלת קצב: בדקו את ה-headers של התגובה כדי לראות את מצב המכסה הנוכחי:
  • X-RateLimit-Limit: Maximum requests per window
  • X-RateLimit-Remaining: Requests remaining
  • X-RateLimit-Reset: Window reset timestamp

המלצות ושיטות עבודה

1. אופטימיזציה של הפרומפטים

כתבו פרומפטים ברורים ומפורטים לקבלת התוצאות הטובות ביותר:

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

2. ניהול עיבוד אסינכרוני

תהליך היצירה הוא אסינכרוני. מומלץ להטמיע מנגנון Polling או Webhooks:

// 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. התאוששות משגיאות

הטמיעו לוגיקת ניסיונות חוזרים (Retry) עם השהיה מעריכית (Exponential Backoff):

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. מעקב אחר צריכת קרדיטים

עקבו אחר ניצול הקרדיטים שלכם כדי למנוע הפסקות בשירות:

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

מוכנים להתחיל?

הצטרפו לאלפי מפתחים שמשתמשים ב-Flux Dev API כדי ליצור תוכן מדהים

קבלו מפתח API עכשיו לצפייה בתוכניות המחירים