Minimax Image Generation API
نموذج صيني متقدم مع فهم فني ممتاز.
✓ توليد غير متزامن
✓ أنماط متعددة
✓ جودة عالية
✓ دعم الدفعات (Batch)
المصادقة
للوصول إلى Minimax Image عبر واجهة برمجة تطبيقات Doitong، استخدم مفتاح API الخاص بك. قم بتضمينه في طلب Mutation الخاص بـ GraphQL أو في ترويسات REST API.
// GraphQL Header
{
"Authorization": "Bearer YOUR_API_KEY"
}
// REST Header
"X-API-Key": "YOUR_API_KEY"
البدء السريع
ابدأ مع Minimax Image API في دقائق معدودة. اتبع هذه الخطوات البسيطة لإنشاء أول text to image لك.
الخطوة 1: احصل على مفتاح API
سجل للحصول على حساب Doitong وانتقل إلى لوحة التحكم لإنشاء مفتاح API الخاص بك.
الخطوة 2: قم بإجراء طلبك الأول
استخدم أحد أمثلة الكود أدناه لإجراء أول استدعاء لواجهة برمجة التطبيقات.
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": "minimax-image",
"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: 'minimax-image',
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": "minimax-image",
"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": "minimax-image",
"input": {
"text": "A futuristic city with flying cars and neon lights"
},
"options": {
"width": 1024,
"height": 1024,
"version": "minimax-v1",
"quality": "high"
}
}
}
الأسعار
يعتمد Minimax Image API نموذج تسعير قائم على الرصيد. يتم استهلاك الرصيد بناءً على تعقيد ومدة المحتوى الذي يتم إنشاؤه.
| الميزة | الرصيد | الوصف |
|---|---|---|
| دقة قياسية | 10-20 الرصيد | من 512x512 إلى 1024x1024 بكسل |
| دقة عالية | 30-50 الرصيد | 2048x2048 بكسل وأعلى |
نقاط نهاية API
تتوفر خدمة Minimax Image API من خلال نقطة نهاية GraphQL الموحدة الخاصة بنا.
نقطة نهاية GraphQL
POST https://api.doitong.com/graphql
نقطة نهاية REST
POST https://api.doitong.com/v1/text_to_image
المعاملات
المعاملات المتاحة لطلبات Minimax Image API:
| المعامل | النوع | مطلوب | الوصف |
|---|---|---|---|
service |
نص (String) | Yes | معرف الخدمة: "minimax-image" |
prompt |
نص (String) | Yes | وصف نصي للمحتوى المراد إنشاؤه |
width |
عدد صحيح (Integer) | No | عرض الصورة بالبكسل (الافتراضي: 1024) |
height |
عدد صحيح (Integer) | No | ارتفاع الصورة بالبكسل (الافتراضي: 1024) |
version |
نص (String) | No | Model version: "minimax-v1" |
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"
}
}
}
معالجة الأخطاء
تستخدم واجهة برمجة التطبيقات رموز حالة 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": "minimax-image",
"createdAt": "2024-01-01T00:00:00Z",
"completedAt": "2024-01-01T00:01:00Z",
"metadata": {
"duration": null,
"width": 1920,
"height": 1080
}
}
أمان الويب هوك
تتضمن جميع طلبات الويب هوك ترويسة توقيع للتحقق:
X-Doitong-Signature: sha256=abc123...
حدود معدل الاستخدام
لضمان الاستخدام العادل واستقرار النظام، تُطبق حدود المعدل التالية:
| الخطة | الطلبات/الدقيقة | المهام المتزامنة | الحد اليومي |
|---|---|---|---|
| مجاني | 10 | 1 | 100 |
| للمبتدئين | 30 | 3 | 1,000 |
| احترافي | 60 | 10 | 10,000 |
| للمؤسسات | مخصص | مخصص | غير محدود |
X-RateLimit-Limit: Maximum requests per windowX-RateLimit-Remaining: Requests remainingX-RateLimit-Reset: Window reset timestamp
أفضل الممارسات
1. تحسين الأوامر (Prompts)
اكتب أوامر واضحة ووصفية للحصول على أفضل النتائج:
- Be specific about visual elements, style, and mood
- Include details about lighting, camera angles, and composition
- Avoid contradictory or impossible requests
2. معالجة العمليات غير المتزامنة
عملية الإنشاء غير متزامنة. قم بتنفيذ آلية التحقق الدوري (Polling) أو الويب هوك:
// 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. التعافي من الأخطاء
قم بتنفيذ منطق إعادة المحاولة مع التراجع الأسي (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
هل أنت مستعد للبدء؟
انضم إلى آلاف المطورين الذين يستخدمون Minimax Image API لإنشاء محتوى مذهل