Claude Opus 5.5 כבר זמין ב-SeedRouter
SeedRouter Docs

GPT Image 2

יצירת תמונות, עריכת ייחוסים והחלת מסכות — דרך נקודת קצה אסינכרונית אחת לתמונות.

View Markdown

GPT Image 2 מקבל הנחיית טקסט, ובאופן אופציונלי גם תמונות ייחוס. שלח פעם אחת, שמור את מזהה המשימה שהוחזר, ותשאל את המשימה כדי לקבל את התמונות המוכנות. הוא מוצע בשני ערוצים, לכל אחד מזהה מודל משלו; שניהם קוראים את אותם פרמטרים.

מזהי מודל

מזהה מודלערוץאופן החיוב
gpt-image-2Standardמחיר קבוע לכל תמונה שנמסרה, בכל גודל ואיכות
gpt-image-2-officialOfficialהטוקנים שכל רינדור מדווח (קלט טקסט ופלט תמונה)

שני המזהים מקבלים את אותם פרמטרים ותומכים בכל המצבים; ההבדל הוא רק באופן החיוב. המחירים הנוכחיים מופיעים בדף המודל. הדוגמאות למטה משתמשות ב-gpt-image-2; החלף אותו ב-gpt-image-2-official כדי לשלם לפי טוקנים.

דוגמה מהירה

curl https://api.seedrouter.ai/v1/images/generations \
  -H "Authorization: Bearer $SEEDROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "An amber glass bottle on a cream background, studio lighting",
    "size": "1024x1024",
    "quality": "low"
  }'

נקודת קצה

POST https://api.seedrouter.ai/v1/images/generations
כותרתערך
AuthorizationBearer YOUR_API_KEY
Content-Typeapplication/json

אותה נקודת קצה מטפלת ביצירה, בעריכה לפי ייחוס ובעריכה עם מסכה. התשובה מכילה מזהה משימה ולא את התמונה המוכנה. שמור את מפתחות ה-API בקוד שרץ בצד השרת.

פרמטרים

שםסוגחובהברירת מחדלהערות
modelstringכן—gpt-image-2 או gpt-image-2-official
promptstringכן—לא ריק; עד 32,000 תווים.
imagesobject[]לא—בין 1 ל-16 אובייקטים בצורה {"image_url":"https://..."}; העברת images מפעילה מצב עריכה.
maskobjectלא—{"image_url":"https://..."}; דורש images.
sizestringלאautoauto או WIDTHxHEIGHT, בכפוף לכללים שלהלן.
qualityenumלאautoauto, low, medium, high.
backgroundenumלאautoauto, opaque, transparent.
output_formatenumלאpngpng, jpeg.
output_compressionintegerלא100 עבור JPEGבין 0 ל-100; שלח רק יחד עם jpeg. אפס הוא ערך תקין.
nintegerלא1בין 1 ל-10 תמונות.
moderationenumלאautoauto, low.
userstringלא—מזהה אופציונלי של משתמש הקצה ביישום שלך. הימנע ממידע אישי.

כללי גודל

הערכים הנפוצים הם 1024x1024, 1536x1024 ו-1024x1536. מידות מותאמות אישית חייבות לעמוד בכל הכללים:

  • הרוחב והגובה הם כפולות של 16.
  • אף צלע אינה עולה על 3840 פיקסלים.
  • יחס הגובה-רוחב נע בין 1:3 ל-3:1.
  • השטח הכולל נע בין 655,360 ל-8,294,400 פיקסלים, כולל שני הקצוות.

auto משאיר את מידות הפלט למודל. אל תשלח יחסי גובה-רוחב כמו 16:9 בשדה size.

ב-Playground יש פקדי Auto, יחס ומותאם אישית. מצב היחס משלב יחס גובה-רוחב עם תקציב פיקסלים מוגדר מראש של 1K, 2K או 4K, ואז שולח רק את ה-size המחושב. אלה הגדרות ממשק ולא פרמטרים נפרדים של ה-API: אל תשלח resolution או aspect_ratio. לדוגמה, 16:9 + 4K שולח size: "3840x2160"; 9:16 + 4K שולח "2160x3840"; 1:1 + 2K שולח "2048x2048". עיגול ומגבלת הצלע עשויים להקטין את מספר הפיקסלים של דרגה שנבחרה. המידות המדויקות מוצגות לפני השליחה.

OpenAI מתארת רזולוציות מעל 2560×1440 כניסיוניות. הן מתקבלות בתוך המגבלות שלעיל; עם זאת, רזולוציה גבוהה יותר אינה מבטיחה פירוט טוב יותר.

דרגות איכות

השתמש ב-low לטיוטות והשווה תוצאות לפני שתבחר דרגה גבוהה יותר. auto משאיר את הבחירה למודל; הוא אינו מבטיח דרגה מסוימת או עלות מסוימת.

רקעים שקופים

השקיפות ב-GPT Image 2 נמצאת בתצוגה מקדימה. לרקע שקוף הגדר background: "transparent" והשתמש ב-PNG. JPEG אינו תומך בשקיפות. הדחיסה חלה רק על JPEG.

user זמין לאינטגרציות דרך ה-API, אך אינו מוצג ואינו מתמלא אוטומטית ב-Playground.

הגדרות סקלריות אופציונליות (n, size, quality, background, output_format, output_compression, moderation) מקבלות null כמשמעות של השמטה. שדות לא מוכרים נדחים. לא ניתן להגדיר את input_fidelity עבור GPT Image 2; קלטי ייחוס מעובדים תמיד בנאמנות גבוהה. style ו-response_format שייכים למודלי תמונה אחרים ואינם מתקבלים כאן.

מצבים

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

פעולהפרמטרים
טקסט לתמונהprompt
עריכה לפי ייחוסprompt + images
עריכה עם מסכהprompt + images + mask

עריכת תמונות ייחוס

curl https://api.seedrouter.ai/v1/images/generations \
  -H "Authorization: Bearer $SEEDROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "Make the bottle blue. Preserve the composition and lighting.",
    "images": [{"image_url": "https://example.com/reference.png"}],
    "mask": {"image_url": "https://example.com/mask.png"},
    "output_format": "jpeg",
    "output_compression": 90
  }'

החלף את שתי כתובות הדוגמה בתמונות שלך שניתן לגשת אליהן. השמט את mask לעריכה לפי ייחוס ללא אזור מסומן.

קלטי מדיה

ה-API הזה מקבל הפניות בכתובת URL בלבד. מזהי OpenAI Files, כתובות data בבסיס base64 והעלאות multipart אינם מתקבלים. Playground מעלה את הקבצים שנבחרו לאחסון ורק אז שולח את הכתובות שלהם.

תמונות הייחוס חייבות להיות כתובות HTTP(S) ציבוריות המצביעות על קובצי PNG, JPEG או WebP בגודל של פחות מ-50MB כל אחד. מסכה חייבת להיות קובץ PNG בגודל של פחות מ-4MB, באותן מידות כמו תמונת הייחוס הראשונה; האזור השקוף שלה מסמן מה לערוך. המסכה מכוונת את המודל ואינה מבטיחה גבולות מדויקים ברמת הפיקסל. כשיש כמה תמונות ייחוס, המסכה חלה על הראשונה. מדיה שמועברת בכתובת נבדקת במהלך העיבוד; מדיה לא תקינה או שאי אפשר לגשת אליה עלולה לגרום לכשל במשימה.

Playground מעלה את הקבצים שנבחרו ושולח את הכתובות שלהם. בקשות ה-API משתמשות באובייקטי כתובת ב-JSON: אל תשלח בייטים של קובץ, base64, כתובות data:, כתובות blob: או נתוני טופס multipart.

גורמי עלות

בדוק את מדור המחירים של המודל לתעריפים הנוכחיים. gpt-image-2 (Standard) מחייב מחיר קבוע לכל תמונה שנמסרה, בלי קשר לאיכות, לגודל או לפרומפט. ב-gpt-image-2-official (Official) העלות הסופית תלויה בצריכת הקלט והפלט: האיכות, מידות הפלט, תמונות הייחוס, אורך הפרומפט ומספר התמונות משפיעים עליה.

ההערכה ב-Playground מבוססת על דגימה נמדדת ועל התעריפים הנוכחיים; היא אינה הצעת מחיר מובטחת. את החיובים הסופיים תראה בהיסטוריית השימוש של החשבון שלך. משימות שנכשלו אינן מחויבות.

מבנה הפלט

השליחה מחזירה הפניה למשימה:

{
  "id": "task_...",
  "model": "gpt-image-2",
  "status": "processing",
  "created_at": 1789970508
}

תשאול המשימה

curl https://api.seedrouter.ai/v1/tasks/YOUR_TASK_ID \
  -H "Authorization: Bearer $SEEDROUTER_API_KEY"

תשאל בקצב מתון, למשל כל שלוש שניות, עד ש-status יהיה completed או failed. פקיעת זמן ברשת במהלך התשאול אינה מעידה שהיצירה נכשלה: שמור את מזהה המשימה והמשך בבדיקה. אל תיצור משימה נוספת כדי לבדוק התקדמות.

דוגמת תשאול מלאה

הרץ זאת אחרי דוגמת השליחה ב-Python שלמעלה. היא משתמשת ב-task_id שהוחזר וממתינה עד עשר דקות. הגעה למועד המקומי הזה רק עוצרת את התשאול; שמור את המזהה והמשך לתשאל את אותה משימה.

import time

print(f"Task ID: {task_id}")
deadline = time.monotonic() + 600
while time.monotonic() < deadline:
    result = requests.get(
        f"https://api.seedrouter.ai/v1/tasks/{task_id}",
        headers={"Authorization": f"Bearer {os.environ['SEEDROUTER_API_KEY']}"},
        timeout=30,
    )
    result.raise_for_status()
    task = result.json()
    if task["status"] == "completed":
        for image in task["output"]["data"]:
            print(image["url"])
        break
    if task["status"] == "failed":
        raise RuntimeError(task["error"]["message"])
    time.sleep(3)
else:
    raise TimeoutError(f"Still waiting. Resume polling task {task_id}.")

משימה שהסתיימה

משימה שהסתיימה מחזירה כתובות של תמונות מאוחסנות ונתוני שימוש:

{
  "id": "task_...",
  "model": "gpt-image-2",
  "status": "completed",
  "created_at": 1789970508,
  "finished_at": 1789970538,
  "output": {
    "created": 1789970532,
    "data": [{"url": "https://static.seedrouter.ai/media/tasks/task_example/0.png"}],
    "usage": {
      "input_tokens": 29,
      "output_tokens": 196,
      "total_tokens": 225
    }
  }
}
שדהמשמעות
idשמור את המזהה הזה לתשאולים הבאים.
statusprocessing, completed או failed.
created_at, finished_atחותמות זמן Unix בשניות; בזמן העיבוד זמן הסיום ריק או אפס.
output.data[].urlכתובות התמונות שנוצרו, זמינות עם הסיום.
output.sizeמידות הפלט בפועל, כשהן מדווחות.
output.qualityדרגת האיכות בפועל, כשהיא מדווחת.
output.backgroundהרקע בפועל, כשהוא מדווח.
output.output_formatפורמט התמונה בפועל, כשהוא מדווח.
output.usageשימוש בטוקנים כפי שדווח, כשהוא זמין. אובייקטי הפירוט עשויים לכלול את מספר טוקני הטקסט והתמונה.
errorשגיאה מובנית במשימה שנכשלה.

ה-API הזה מספק תוצאות באופן אסינכרוני באמצעות משימות. הוא אינו תחליף ל-Images SDK סינכרוני; stream ו-partial_images אינם נתמכים.

שגיאות

בקשות שנדחות לפני יצירת המשימה מחזירות שגיאת HTTP יחד עם אובייקט error. משימה שנכשלת לאחר שהתקבלה מחזירה בתשאול HTTP 200, עם status: "failed" ואובייקט error.

ראה את קטלוג השגיאות המשותף לקודים, לסטטוסי HTTP ולהנחיות ניסיון חוזר. כל ממשקי ה-API של המודלים משתמשים באותו מבנה שגיאה.

{
  "id": "task_...",
  "status": "failed",
  "error": {
    "code": 60002,
    "message": "Generation could not be completed. Please try again."
  }
}

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

טיפים

  • תאר בהנחיה את החומרים, את הקומפוזיציה ואת התאורה.
  • בעריכה, ציין גם את השינוי הרצוי וגם את מה שצריך להישאר ללא שינוי.
  • השתמש במסכה כשרק אזור מסומן אמור להשתנות.
  • שמור את התמונות שהוחזרו באחסון שלך אם אתה צריך עותק קבוע.

קישורים רלוונטיים