GPT Image 2.5 Sunburst and Flare are now live on CometAPI →
technology/CometAPI зерттеуі

Кескін жасауды үлкен ауқымда қалай автоматтандыруға болады

Кезекке қоюды, модельді бағыттауды, бір мезгілде орындалу шектеулерін, қайта әрекеттерді және сақтауды қамтитын, бір CometAPI кілтімен өндірістік ортаға дайын пакеттік кескін генерациялау жұмыс ағынын құрыңыз.

CometAPI
Bobby SpencerAI model және API зерттеу тобы
Жаңартылды Sep 6, 2026 9 мин оқу
Кескін жасауды үлкен ауқымда қалай автоматтандыруға болады
Осы үлгіні пайдалану

Бірінші API шақыруын жасаңыз.

from openai import OpenAI

client = OpenAI(
    api_key="YOUR_COMETAPI_KEY",
    base_url="https://api.cometapi.com/v1",
)

response = client.chat.completions.create(
    model="gpt-5-mini",
    messages=[{"role": "user", "content": "Build this workflow."}],
)

print(response.choices[0].message.content)

Көптеген әртүрлі API-ларды басқармай-ақ сурет генерациясын ауқымды түрде автоматтандырудың ең оңай жолы — жұмыс ағынын модель провайдерінен бөлу. Әрбір сурет сұранысын бір кезекке салыңыз, әр жұмысты ағымдағы модель ID-сына бағыттаңыз және үйлесімді сұраныстарды бір CometAPI кілті мен OpenAI-үйлесімді базалық URL арқылы жіберіңіз: https://api.cometapi.com/v1.

Бұл нұсқаулық сол конвейерді Python тілінде құрады. Ол JSON Lines кезегінен өнім, жарнама және контент жұмыстары қабылдайды; модель таңдайды; параллелдікті шектейді; уақытша ақауларды қайта әрекет етеді; нәтижені URL немесе base64 түрінде сақтайды; және әр жұмыс бойынша пайдалану мен шамаланған құнды тіркейді. Үлгі өндірістегі маңызды элементтерді бір ықшам блокта сақтайды, сондықтан мақаланы код анықтамалығына айналдырмай-ақ жұмыс ағынын сынай аласыз.

Біріктірілген Image API топтық генерацияны қалай жеңілдетеді

Соңында жұмыс ағыны мынадай болып көрінеді:

jobs.jsonl → bounded worker pool → CometAPI /v1/images/generations → object storage → manifest.jsonl

Кезек пен сақтау қабаты сіздікі болып қалады. Сурет моделін ауыстыру — аутентификация жүйесін немесе негізгі маршрутты өзгерту емес, тек model мәнін өзгерту. Біріктірілген image API-дың практикалық артықшылығы — модельді таңдау жеке провайдер интеграциясынан гөрі, бір құбырдағы маршрутизация шешіміне айналады.

Сурет генерациясын автоматтандыру үшін не қажет?

Сізге Python 3.10 немесе одан жаңа нұсқа, requests пакеті, CometAPI кілті, жазуға болатын шығыс орны және кемінде бір ағымдағы сурет моделі ID қажет.

Жалғыз тәуелділікті орнатыңыз:

pip install requests

Кілтіңізді серверде орнатыңыз, ешқашан браузер кодында немесе репозиторийде емес:

export COMETAPI_KEY="your-key"

Базалық URL — https://api.cometapi.com/v1, ал үйлесімді мәтіннен-суретке тапсырмалар POST /images/generations пайдаланады. Жіберер алдында тірі модель каталогында әр модельді тексеріңіз; каталог ағымдағы ID-ны, қолдау көрсетілетін endpoint-ті, мүмкіндіктерді және баға метадеректерін қайтарады және авторизация тақырыпшасын талап етпейді.

2026 жылғы 20 тамыздағы жағдай бойынша, тірі каталогта мына екі пайдалы маршрут list-ке қосылған:

Жұмыс жүктемесіМодель IDНеліктен сәйкес келеді
Шығысын басқаруға болатын өнім суреттеріgpt-image-2Құжатталған OpenAI-үйлесімді маршрутта usage деректерін және base64 сурет контентін қайтарады
Көлемді жарнама және контент тұжырымдамаларыdoubao-seedream-4-5-251128Сол генерация маршрутын пайдаланады және сұранысқа шақ бағамен list-те көрсетілген

Бұл кесте — бастапқы нүкте ғана, модельдердің мүмкіндіктері бірдей деген мәлімдеме емес. Өлшем, сапа, формат, reference-image қолдауы және жауап мінез-құлқы модельге тәуелді. Қосымша параметрлерді бермес бұрын модель жазбасын және оған байланысты құжаттаманы тексеріңіз.

Python тілінде топтық сурет генерациясы жұмыс ағынын қалай құруға болады

1. Әр жұмысқа тұрақты ID беріңіз

Кезек, дерекқор экспорты немесе кесте жұмысын сол жұмысшыға беру үшін әр жолға бір JSON объектісін пайдаланыңыз:

{"id":"sku-1001","kind":"product","prompt":"Studio product photo of a ceramic coffee dripper on a warm neutral background"}
{"id":"campaign-204","kind":"ad","prompt":"Editorial summer travel image, vivid natural light, wide composition, no text"}
{"id":"blog-088","kind":"content","prompt":"Minimal illustration of a developer automating a creative workflow, no text"}

ID шығыс файл атауына және манифест кілтіне айналады. Өндірісте оны идемпотенттік кілт ретінде пайдаланыңыз және кезек қайта өңделер алдында сәтті деп белгіленген ID-ларды өткізіп жіберіңіз.

2. Алдымен жұмыс түрі бойынша маршрутизациялаңыз, содан кейін тірі каталогпен тексеріңіз

Мысал өнім жұмыстары үшін gpt-image-2, ал жарнама немесе контент жұмыстары үшін doubao-seedream-4-5-251128 пайдаланады. Жұмыс өз model өрісімен осы таңдауды қайта анықтай алады. Іске қосылғанда жұмысшы жалпыға қолжетімді каталогты жүктейді және тізімде жоқ ID-ны қабылдамайды.

Бұл бүкіл қолданба бойынша провайдерге тән SDK-ны хардкодтаудан қауіпсізірек. Сапа, кідіріс және бағаны өз prompt-тарыңыз үшін бағалағаннан кейін бір mapping-те маршрутты өзгерте аласыз.

3. Барлық партияны бірден іске қоспай, параллелдікті шектеңіз

Жұмысшы төрт параллель сұраныспен бастайды. Бұл сан — сервистің әмбебап шегі емес, сақтықпен қойылған қолданбалық параметр. Есептік жазбаңыз үшін кідірісті және 429 жауаптарын өлшеңіз, содан кейін MAX_WORKERS мәнін саналы түрде көтеріңіз немесе төмендетіңіз.

Тек 408, 429 және 5xx жауаптары экспоненциалды backoff және джиттермен қайта әрекет етіледі. Аутентификация қателері, жарамсыз модель ID-лары және қолдауы жоқ параметрлер бірден істен шығады, өйткені сол бүлінген сұранысты қайта жіберу тек кешіктіруді арттырады.

4. Сақтаудан бұрын нәтижені нормалданыңыз

Сурет модельдері әрдайым бір контейнерді қайтармайды. Құжатталған GPT Image жауаптары data[0].b64_json қамтиды; басқа үйлесімді модельдер data[0].url қайтара алады. Жұмысшы екеуін де өңдейді, суретті уақытша файлға жазады және жүктеп алу немесе декодтау сәтті болғаннан кейін ғана қайта атайды.

Өндіріс үшін жергілікті output/ директориясын S3, R2, GCS немесе басқа объект сақтауымен ауыстырыңыз. Провайдерде орналастырылған URL-ды сақтаудың тұрақты орны ретінде қарастырмаңыз, егер оның сақтау саясаты бұл туралы нақты айтпаса.

5. Пайдалануды, әрекет ету санын және шамаланған құнын жазып отырыңыз

Әрбір нәтиже — жұмыс ID-сы, модель, сақталған жол, мәртебе және тірі каталог жеткілікті баға деректерін берсе, шамаланған USD құн көрсетілген ықшам манифест жолына айналады. Істен шыққан жұмыстар партиядан жоғалып кетудің орнына қатені сақтап қалады.

Топтық сурет генерациясына арналған толық Python скрипті

Төмендегіні batch_image_pipeline.py ретінде сақтаңыз, қасына jobs.jsonl кезегін орналастырыңыз және python3 batch_image_pipeline.py командасын іске қосыңыз.

import base64, json, os, random, time
from concurrent.futures import ThreadPoolExecutor
from pathlib import Path
import requests

BASE_URL = "https://api.cometapi.com/v1"
KEY = os.environ["COMETAPI_KEY"]
WORKERS = int(os.getenv("MAX_WORKERS", "4"))
OUT = Path("output")
ROUTES = {
    "product": "gpt-image-2",
    "ad": "doubao-seedream-4-5-251128",
    "content": "doubao-seedream-4-5-251128",
}

catalog = requests.get("https://api.cometapi.com/api/models", timeout=30)
catalog.raise_for_status()
CATALOG = {model["id"]: model for model in catalog.json()["data"]}

def generate(job):
    model = job.get("model", ROUTES[job["kind"]])
    if model not in CATALOG:
        raise ValueError(f"Unknown model: {model}")
    payload = {"model": model, "prompt": job["prompt"], "n": 1}
    if model == "gpt-image-2":
        payload.update(quality="low", size="1024x1024", output_format="jpeg")

    for attempt in range(4):
        response = requests.post(
            f"{BASE_URL}/images/generations",
            headers={"Authorization": f"Bearer {KEY}"},
            json=payload,
            timeout=180,
        )
        if response.status_code not in {408, 429} and response.status_code < 500:
            break
        time.sleep(2**attempt + random.random())
    response.raise_for_status()
    body = response.json()
    item = body["data"][0]

    if item.get("b64_json"):
        data = base64.b64decode(item["b64_json"])
        extension = body.get("output_format", "png")
    else:
        download = requests.get(item["url"], timeout=120)
        download.raise_for_status()
        data = download.content
        extension = {"image/png": "png", "image/webp": "webp"}.get(
            download.headers.get("content-type"), "jpg"
        )
    path = OUT / f"{job['id']}.{extension}"
    path.write_bytes(data)

    price, usage = CATALOG[model].get("pricing") or {}, body.get("usage", {})
    cost = price.get("per_request")
    if cost is None and price.get("input") is not None:
        cost = (usage.get("input_tokens", 0) * price["input"] +
                usage.get("output_tokens", 0) * price["output"]) / 1_000_000
    return {"id": job["id"], "model": model, "path": str(path),
            "estimated_usd": cost * price.get("ratio", 1) if cost is not None else None}

def safe_generate(job):
    try:
        return {"status": "success", **generate(job)}
    except Exception as error:
        return {"id": job["id"], "status": "failed", "error": str(error)}

OUT.mkdir(exist_ok=True)
jobs = [json.loads(line) for line in Path("jobs.jsonl").read_text().splitlines() if line]
with ThreadPoolExecutor(max_workers=WORKERS) as pool:
    results = list(pool.map(safe_generate, jobs))
with (OUT / "manifest.jsonl").open("w") as manifest:
    manifest.writelines(json.dumps(result) + "\n" for result in results)

Скрипт орындалу уақытында ағымдағы каталогты пайдаланады, ал екі fallback mapping — 2026 жылғы 20 тамызда тексерілген мысалдар. Оларды жариялар немесе басқа күні енгізер алдында қайта тексеріңіз.

Топтық сурет генерациясы жұмыс ағынын қалай тестілеу керек

Бір жұмыстан және бір жұмысшыдан бастаңыз:

MAX_WORKERS=1 python3 batch_image_pipeline.py

Сәтті GPT Image жауабы мына құрылымды ұстанады:

{
  "created": 1776841943,
  "output_format": "jpeg",
  "quality": "low",
  "size": "1024x1024",
  "usage": {
    "input_tokens": 16,
    "output_tokens": 208,
    "total_tokens": 224
  },
  "data": [{"b64_json": "<base64-image-data>"}]
}

Жұмысшы суретті декодтайды, output/<job-id>.jpeg жазады және output/manifest.jsonl ішіне сәтті жол қосады. Егер модель URL қайтарса, жұмысшы оны жүктеп алып, сол манифест форматында жергілікті жолды сақтайды.

Код локалды түрде синтаксиске тексерілді. Тірі генерация қоңырауы үшін CometAPI кілті қажет, сондықтан параллелдікті арттырмас бұрын бір-жобалық smoke-тест жасаңыз.

Топтық сурет генерациясының құны қанша?

Баға модель ставкалары өзгеретіндіктен, уақыт белгісімен берілуі тиіс. 2026 жылғы 20 тамыздағы жағдай бойынша CometAPI тірі модель каталогы мына базалық баға өрістерін және 0.8 биллинг коэффициентін қайтарды:

  • gpt-image-2: 1M input токенге $5 және 1M output токенге $30; көрсетілген коэффициентті қолданғанда тиімді ставкалар 1M токенге $4 және $24.
  • doubao-seedream-4-5-251128: бір сұранысқа $0.04; коэффициентті қолданғанда бір сұранысқа $0.032.

CometAPI бағалау нұсқаулығы ресми бағасы бар модельдер үшін токенге негізделген биллингті және сұранысқа шақ бағаланатын модельдер үшін қоңырауға негізделген биллингті түсіндіреді. Скрипт іске қосылғанда каталогты оқиды және сол ережені қолданады:

token cost = ratio × (input tokens × input rate + output tokens × output rate) / 1,000,000

request cost = ratio × per-request price

Мысалы, жоғарыдағы құжатталған GPT Image жауабы 16 input токенді және 208 output токенді хабарлайды. 20 тамыздағы каталог мәндерін пайдаланып, бұл иллюстративті нәтиже шамамен $0.005056 деп бағаланады. Нақты жалпы сома модельге, сапаға, өлшемге, prompt-қа, қайта әрекеттерге және жауаптағы usage-қа байланысты өзгереді. API жауабын және аккаунт usage тақтасын биллинг жазбасы ретінде қарастырыңыз, суретке шақ тұрақты болжам емес.

Сәтсіз жұмыстарға да бюджет бөліңіз. Расталмаған уақыт асуынан кейінге қайта әрекет ету екінші төленетін нәтижеге әкелуі мүмкін, ал техникалық тұрғыда сәтті сурет тексерістен өтпесе, бәрібір бюджет жұмсалады. API құнын да, қабылдау мөлшерін де қадағалаңыз:

effective cost per accepted image = total batch spend / approved images

Image Generation API-дағы жиі қателер және оларды түзету

БелгіЫқтимал себепШешім
401Кілт жоқ немесе жарамсызСервер жағындағы COMETAPI_KEY мәнін тексеріңіз
400Жарамсыз модель немесе қолдауы жоқ опцияТірі каталогты қайта тексеріңіз және модельге тән өрістерді алып тастаңыз
429Параллелдік тым жоғарыMAX_WORKERS мәнін төмендетіңіз және экспоненциалды backoff қолданыңыз
Қайталанатын 5xxУақытша жоғарғы жақтағы ақауШекті қайта әрекет етіңіз, содан кейін жұмысты dead-letter queue-ға жіберіңіз
Сурет сақталмадыЖауап басқа контейнерді пайдаландыdata[0] тексеріңіз және b64_json немесе url екеуін де қолдаңыз
Қайталанған шығынЖұмыс ішінара істен кейін қайта ойналдыТұрақты ID-ларды пайдаланыңыз және тек сақтау сәтті болғаннан кейін acknowledge жасаңыз

Әрбір қатені қайта әрекет етпеңіз. Тұрақты 400 сұраныс жарамсыз күйінде қалады, ал шексіз 429 қайта әрекет циклі трафик толқуын артқа шегінуге айналдыра алады.

Өндірісте ауқымды сурет генерациясына арналған үздік тәжірибелер

Бірнеше жұмысшы қатысқанда JSON Lines-тен тұрақты кезекке ауысыңыз. Көрінушілік уақытын максималды генерация уақытынан ұзақ етіп қойыңыз, сурет пен манифест сақталғаннан кейін ғана жұмысты acknowledge етіңіз және таусылған жұмыстарды шолу үшін dead-letter queue-ға жіберіңіз.

Қосымша басқаруларды модельге тән конфигурацияда сақтаңыз. Ортақ payload тек жалпы өрістерді қамтуы тиіс: model, prompt, және n: 1; quality, size немесе output_format мәндерін тек таңдалған модель құжаттамасы оларды растаса ғана қосыңыз. Егер fallback маршрутизация қоссаңыз, сол тапсырманы қолдайтын модельді таңдаңыз және провайдерге тән опцияларды соқыр қайта жібермей, сол модель үшін payload-ты қайта құрыңыз.

API кілтін құпия менеджерде сақтаңыз, prompt кірісін шектеңіз, саясатыңызға сай генерацияланған активтерді сканерлеңіз және провайдер URL-дарын ұзақ мерзімді өнім жазбаларына қоспаңыз. Жұмыс ID-сы, модель ID-сы, кідіріс, әрекет ету саны, usage, сақтау жолы, шолу нәтижесі және каталог snapshot күні сияқты өрістерді логтаңыз. Бұл өрістер модельдерді тек қоңырау бағасы бойынша емес, қабылданған суретке шақ құн бойынша салыстыруға мүмкіндік береді.

Соңында бюджет қорғаныштарын орнатыңыз: максималды партия көлемі, жұмысқа шақ қайта әрекеттер шегі, күнделікті шығын ескертуі және қабылдау мөлшері төмендегенде тоқтату шарты. Нашар prompt-ты жылдам масштабтау — оңтайландыру емес.

Ауқымды сурет генерациясын автоматтандыру туралы Жиі қойылатын сұрақтар

Бірнеше API-ды басқармай-ақ ауқымды сурет генерациясын автоматтандырудың ең оңай жолы қандай?

Бір кезек пен сақтау жұмыс ағынын пайдаланыңыз, содан кейін үйлесімді сурет сұраныстарын бір CometAPI кілті және https://api.cometapi.com/v1/images/generations. арқылы жіберіңіз. Негізгі аутентификация мен провайдер SDK-ларын қолдамай-ақ, маршрутизация қабатында модель ID-ны өзгертіңіз.

Бір сұранысты жіберіп, бірнеше сурет моделіне бірден генерациялауға бола ма?

Мысалда бір жұмысқа бір модель жіберіледі. Fan-out — қолданбалық жұмыс ағыны: жұмысты әртүрлі ID және модель мәндерімен көшіріңіз, содан кейін сақталған нәтижелерді салыстырыңыз. Бұл құн мен шолу мәртебесін әр модельге нақты жатқызуды қамтамасыз етеді.

Қандай параллелдікті қолданған жөн?

Әр аккаунт пен модель үшін әмбебап саны жоқ. Төрт жұмысшыдан тұратын шағын шектелген пулдан бастаңыз, кідіріс пен 429 жауаптарын бақылаңыз және дәлелге сүйене отырып баптаңыз.

Қайтарылған URL-ды ма, әлде суреттің өзін сақтаған дұрыс па?

Суретті өз объект сақтауыңызда сақтаңыз. Қайтарылған URL уақытша болуы мүмкін, ал GPT Image модельдері URL орнына base64 контентін қайтара алады.

Ең арзан модельді қалай таңдауға болады?

Тек қоңырау бағасын емес, қабылданған суретке шақ құнды есептеңіз. Токен немесе сұраныс үстемеақыларын, қайта әрекеттерді, сәтсіз жүктеп алуларды, қабылданбаған активтерді, пост-өңдеуді және адам шолуын қосыңыз. Жариялар немесе енгізер күні тірі модель каталогын қайта тексеріңіз.

Endpoint пен жауап форматын қайда тексеру керек?

CometAPI Quick Start, модель каталогы құжаттамасы, image generation reference және баға нұсқаулығын пайдаланыңыз.

Оқуды жалғастыру

Осы мақаланы келесі шешіммен байланыстырыңыз.

Барлық тақырыптарды көру
Жарияланды Sep 6, 2026
Соңғы жаңарту Sep 6, 2026
5 көрілім
Түсініктілік, дереккөзге сілтеме және ағымдағы API терминологиясы бойынша тексерілді.

AI әзірлеу шығындарын 20%-ға қысқартуға дайынсыз ба?

Минуттар ішінде тегін бастаңыз. Тегін сынақ кредиттері қосылған. Банк картасы талап етілмейді.

Толығырақ оқу