MiniMax-M3.1-Flash and DeepSeek-V4.1-Flash-1017 are now live on CometAPI →
ai-model/CometAPI 리서치

Kenerate AI 사용 방법: 이미지, 동영상, API 및 요금제

Kenerate MCP/CLI 및 엔터프라이즈 API 액세스를 살펴보고, 별도의 CometAPI 워크플로를 사용해 Python으로 이미지를 생성하고 편집하며 Kling 비디오를 가져오세요.

CometAPI
Deon GoodwinAI 모델 및 API 리서치 팀
업데이트됨 Oct 22, 2026 11 분 읽기
Kenerate AI 사용 방법: 이미지, 동영상, API 및 요금제
이 패턴 사용

첫 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)

TL;DR: Kenerate AI는 이미지, 비디오, 편집, 오디오, 3D 및 에이전트 기능을 결합한 크리에이티브 워크스페이스입니다.

Kenerate AI는 크리에이티브 도구들을 하나의 워크스페이스로 제공합니다. 개발자는 먼저 MCP/CLI 및 엔터프라이즈 API 접근 등 Kenerate의 네이티브 접근 옵션과 별도의 CometAPI 통합을 구분해야 합니다. 본 가이드는 접근 및 비용 계획, 환경 설정, 이미지 생성, 응답 처리, 이미지 편집, 비동기 비디오 생성에 대해 다룹니다. Python 3.10+, CometAPI 키, 충분한 잔액을 사용해 원본 이미지를 저장하고, 편집된 변형본과 완료된 클립을 저장하는 예제를 따라하세요.

Key Takeaways

  • Kenerate AI는 단일 파운데이션 모델이 아니라 멀티 모델 기반 크리에이티브 서비스입니다.
  • Kenerate는 MCP/CLI 접근과 엔터프라이즈 API 온보딩을 제공합니다. 애플리케이션과 계정에 맞는 경로를 선택하세요.
  • 별도의 CometAPI 통합을 구축할 때는 구체적인 모델 ID와 경로별 파라미터를 사용하세요.
  • 이미지 생성 후 바이트를 저장하세요. 비디오 작업 ID를 보관해 재폴링 시 새로운 작업 제출 없이 이어갈 수 있게 하세요.
  • CometAPI는 지원하는 이미지/비디오 모델에 대해 별도의 개발자 통합, 자격 증명, 과금 체계를 제공합니다.

What Is Kenerate AI?

Kenerate의 스튜디오를 사용해 인터랙티브 제작을 진행할 수 있습니다. 개발자는 공식 MCP/CLI 도구를 사용할 수 있으며, 엔터프라이즈 API 접근은 지원팀에 문의할 수 있습니다. 아래 접근 섹션에서 이러한 옵션을 설명합니다. 이후 파이썬 예제는 별도로 CometAPI를 호출합니다.

Kenerate AI와 CometAPI는 별개의 서비스입니다.

아래 코드는 CometAPI를 직접 호출합니다. 이 코드는 Kenerate에 로그인하지 않으며, Kenerate 스튜디오를 자동화하거나 Kenerate 크레딧을 사용하지 않습니다. 스튜디오의 프리셋이나 출력과 동일함을 주장하는 대신, 지원되는 모델을 사용해 좁게 정의된 크리에이티브 작업을 재현합니다.

Kenerate AI 사용 방법: 이미지, 동영상, API 및 요금제

Kenerate gallery의 공식 제품 이미지 예시입니다. 이는 크리에이티브 유스케이스를 설명하기 위한 것이며, 아래 API 코드의 출력이 아닙니다.

How Does Kenerate AI Pricing Affect API Cost Planning?

Kenerate는 25개의 시작 크레딧과 15달러부터 시작하는 1회성 크레딧 팩을 홍보합니다. 결제 FAQ에 따르면 구매한 크레딧은 만료되지 않으며, 비디오 생성에는 구매한 크레딧 팩이 필요합니다. 이는 스튜디오 결제 조건이며, 엔터프라이즈 API 접근 비용 견적이 아닙니다.

CometAPI는 별도의 자격 증명과 과금 체계를 사용합니다. 테스트 또는 배치 전에 선택한 모델과 요청 설정을 비용 추정과 대조하고, 작업 한도를 설정하며 기록된 사용량을 확인하세요. Kenerate 크레딧은 CometAPI 요청 비용을 결정하지 않습니다.

How Do You Access Kenerate AI?

Connect through MCP or CLI

Kenerate의 공식 MCP/CLI 설정 페이지는 네이티브 개발자 경로를 제공합니다. 원격 MCP 서버는 https://mcp.kenerateai.com/mcp입니다. 호환 클라이언트에 서버를 추가하고, 지원되는 경우 Kenerate 로그인을 완료하세요. CLI 설치와 인증은 설정 페이지를 따르십시오. 이 도구들은 CometAPI 키가 아니라 Kenerate 계정을 사용합니다.

Request enterprise API access when needed

공식 FAQ는 또한 엔터프라이즈 파트너를 위한 API 접근을 지원팀을 통해 설명합니다. 이 경로에서는 엔드포인트 문서, 인증, 지원되는 작업, 쿼터 및 과금 조건을 요청하세요. 엔터프라이즈 온보딩만이 유일한 네이티브 통합 옵션으로 제시되어서는 안 됩니다.

How Do You Set Up a Separate CometAPI Workflow?

Account and credentials

CometAPI 계정을 만들고 API 키 설정 안내에 따라 키를 발급하세요. 키는 서버나 개발 머신에 보관합니다. 다음 Bash 명령은 HTTP 클라이언트를 설치하고 키를 에코 없이 읽습니다. Windows 사용자는 WSL 또는 Git Bash에서 실행할 수 있습니다.

python -m pip install requests
read -rsp "CometAPI API key: " COMETAPI_KEY
export COMETAPI_KEY
printf '\n'

A small, specific first request

옵션을 추가하기 전에 하나의 프롬프트와 하나의 출력으로 시작하세요. 이미지 워크플로의 경우 개발자는 CometAPI에서 GPT Image 2 API에 접근할 수 있습니다. 비디오 워크플로는 개발자 퀵스타트의 경로별 model_name 값을 사용하는 Kling Video API in CometAPI를 사용합니다. 스튜디오 라벨은 API 식별자를 대체할 수 없습니다.

Compare the CometAPI Examples

Integration detailCometAPI image generationCometAPI Kling video
AuthenticationBearer COMETAPI_KEYBearer COMETAPI_KEY
Create path/v1/images/generations/kling/v1/videos/text2video
Model selectormodelmodel_name
CompletionSynchronous responseAsynchronous task; poll the matching route
OutputDecode data[0].b64_jsonDownload task_result.videos[0].url after success

CometAPI는 이미지 요청 및 출력 필드와 비디오 제출 및 폴링 경로를 별도로 문서화합니다. 자격 증명, 경로, 본문, 결과 파싱을 하나의 완전한 통합으로 취급하세요.

Can You Use the OpenAI SDK with CometAPI?

예, 지원되는 OpenAI 호환 경로에 대해 가능합니다. CometAPI의 SDK 가이드는 CometAPI 키와 기본 URL https://api.cometapi.com/v1.을 사용합니다. OpenAI Python SDK는 사용자 지정 base_url을 지원합니다. 선택 시 SDK는 별도로 설치하세요. 아래 실행 가능한 이미지 및 비디오 스크립트는 requests를 사용합니다.

python -m pip install openai

import os
from openai import OpenAI

client = OpenAI(
api_key=os.environ["COMETAPI_KEY"],
base_url="https://api.cometapi.com/v1",
)

Client configuration only: no generation request is submitted here.


호환성은 문서화된 엔드포인트, 필드 및 응답 형태에 적용됩니다. 이는 모든 공급자 경로가 상호 교환 가능함을 의미하지 않습니다. 이미지 퀵스타트는 client.images.generate를 지원합니다. 아래 Kling 예제는 공급자별 /kling/v1/videos/text2video 경로와 작업 계약을 사용합니다. 일반 SDK 비디오 호출로 대체하지 말고, 일치하는 [image](https://apidoc.cometapi.com/quickstarts/image/gpt-image-api) 또는 [Kling](https://apidoc.cometapi.com/quickstarts/video/kling-api) 퀵스타트를 따르세요.

## How to Generate and Save an Image with CometAPI?

### Choose Image Settings

첫 이미지 테스트에서는 gpt-image-2, size="1024x1024", quality="low", output_format="jpeg"를 사용하세요. 결과를 동일한 파일 확장자로 저장합니다. 제품, 배경, 조명을 명확히 설명하세요. 이 이미지 경로는 model 필드를 사용하고 data[0].b64_json에 이미지 바이트를 반환합니다.

### Generate and Save the Image

CometAPI는 [gpt-image-2](https://apidoc.cometapi.com/quickstarts/image/gpt-image-api)와 base64 출력을 사용한 이미지 생성을 문서화합니다. 이 예제는 동기 요청을 보내고 반환된 바이트를 JPEG로 저장합니다. generate_image.py로 저장한 뒤 환경 변수를 설정하고 python generate_image.py를 실행하세요.

import base64
import os
from pathlib import Path
import requests

response = requests.post(
"https://api.cometapi.com/v1/images/generations",
headers={"Authorization": f"Bearer {os.environ['COMETAPI_KEY']}"},
json={
"model": "gpt-image-2",
"prompt": "A ceramic cup on marble, realistic product lighting",
"quality": "low",
"size": "1024x1024",
"output_format": "jpeg",
},
timeout=(10, 180),
)
response.raise_for_status()
payload = response.json()
items = payload.get("data", [])
if not items or not items[0].get("b64_json"):
raise RuntimeError("No image bytes returned; inspect the response schema.")
image_bytes = base64.b64decode(items[0]["b64_json"], validate=True)
if not image_bytes:
raise RuntimeError("The returned image is empty.")
output = Path("product-image.jpeg")
output.write_bytes(image_bytes)
print(f"Saved {output} ({len(image_bytes)} bytes)")


### Check the Saved Image

먼저 product-image.jpeg가 존재하며 이미지 뷰어에서 열리는지 확인하세요. 그런 다음 주제, 구성, 제품 세부사항이 프롬프트와 일치하는지 점검합니다. 프롬프트를 변경하기 전에 주제와 구성을 확인하세요. HTTP 200 응답은 요청이 성공했음을 의미하지만, 반환된 데이터를 검증하고 이미지를 직접 확인해야 합니다. 응답에 에러가 포함되거나 다른 스키마인 경우 디코더를 변경하기 전에 이를 점검하세요. JSON 텍스트를 이미지 확장자로 저장하지 마세요.

이후 편집을 위해 원본 이미지는 변경하지 않은 채 보관하세요. 파일 확장자는 요청한 output_format과 일치시키고, 중요한 텍스트나 제품 세부 정보를 시각적으로 점검하세요. 모델을 변경하는 경우, 이 base64 디코더를 재사용하기 전에 해당 모델의 응답 계약을 확인하세요.

### Edit a Generated or Local Image

소스 파일을 멀티파트 데이터로 업로드하세요. 요청 변경 사항과 유지해야 할 세부사항을 명시합니다. 원본 파일을 유지하고 승인된 각 결과를 새 이름으로 저장하세요.

별도의 CometAPI 워크플로에서 [image-edit 엔드포인트는 멀티파트 업로드를 지원](https://apidoc.cometapi.com/api/image/openai/image-editing)합니다. 아래 독립 스크립트를 edit_image.py로 저장하고, 앞선 생성 단계의 product-image.jpeg와 같은 디렉터리에 둔 뒤 python edit_image.py를 실행하세요. 프롬프트는 컵의 색상만 변경하도록 요청하며, 결과는 product-image-edited.jpeg로 저장됩니다.

import base64
import os
from pathlib import Path
import requests

source = Path("product-image.jpeg")
with source.open("rb") as image_file:
response = requests.post(
"https://api.cometapi.com/v1/images/edits",
headers={"Authorization": f"Bearer {os.environ['COMETAPI_KEY']}"},
files={"image": (source.name, image_file, "image/jpeg")},
data={
"model": "gpt-image-2",
"prompt": "Change only the cup color to matte black. Preserve its shape, background and lighting.",
"quality": "low",
"output_format": "jpeg",
},
timeout=(10, 240),
)
response.raise_for_status()
items = response.json().get("data", [])
if not items or not items[0].get("b64_json"):
raise RuntimeError("No edited image returned; inspect the response.")
edited_bytes = base64.b64decode(items[0]["b64_json"], validate=True)
if not edited_bytes:
raise RuntimeError("The edited image is empty.")
Path("product-image-edited.jpeg").write_bytes(edited_bytes)
print("Saved product-image-edited.jpeg")


#### Using a local reference image

기존 제품 사진을 편집하려면 source를 해당 파일로 설정하세요. 업로드 MIME 타입을 실제 형식과 일치시키세요. 예를 들어 PNG라면 image/png입니다. 요청한 output_format은 소스 형식과 관계없이 jpeg로 둘 수 있습니다. 멀티파트 Content-Type 헤더는 requests가 생성하게 하세요. 수동으로 application/json을 강제하면 파일 업로드가 실패합니다.

참조 이미지는 일관성에 도움이 되지만 로고나 제품 기하를 정확히 유지할 것을 보장하지는 않습니다. 상업적 제품 주장에는 반드시 사람이 승인하는 단계를 유지하세요.

#### Continuing an edit

추가 편집을 위해서는 승인된 출력을 다음 소스로 업로드하고 다음 지시문을 작성하세요. 각 버전은 서로 다른 파일 이름으로 유지합니다. 다음으로 진행하기 전에 요청된 변경 사항과 변하지 않아야 할 요소를 모두 점검하세요.

## How Do You Submit and Retrieve a Kling Video with CometAPI

### Submit a Video Task

[Kling](https://apidoc.cometapi.com/quickstarts/video/kling-api) 텍스트-투-비디오 퀵스타트는 비동기 작업을 사용합니다. 한 번 제출하고 ID를 보관한 다음 일치하는 경로를 조회하세요. 아래 예제는 model_name="kling-v3", mode="std", duration="5", sound="off"를 사용합니다. 이 값들은 CometAPI Kling 경로에 적용됩니다. 하나의 명확한 주제 동작과 의도한 카메라 움직임을 설명하세요.

이 공급자별 경로에서는 model_name을 사용하고, 첫 테스트에서는 mode="std", duration="5", sound="off"를 유지하세요. 이는 텍스트-투-비디오 요청입니다. 이미지 참조는 문서화된 image-to-video 경로가 필요합니다.

코드를 generate_video.py로 저장하세요. 작업을 생성하려면 python generate_video.py를 실행하세요. 폴링이 중단된 뒤에는 저장된 ID를 사용해 python generate_video.py TASK_ID로 재개하세요. [작업 조회 계약](https://apidoc.cometapi.com/api/video/kling/individual-queries)은 결과 URL을 문서화하며, data 래핑과 직접 작업 객체 두 가지를 모두 지원합니다.

### Poll the Task and Download the Result

비디오 생성 응답은 완료된 미디어 파일이 아닌 작업 ID를 제공합니다. ID를 작업과 함께 저장하고, 조회 시 task_status를 점검한 뒤 성공 후에만 task_result.videos[0].url을 읽어 다운로드하세요. 아래 완전한 비디오 스크립트는 제출, 폴링, 실패 처리, 다운로드를 다루며, 재개 모드는 동일한 작업을 재사용합니다.

기존 작업은 GET /kling/v1/videos/text2video/{task_id}로 조회하세요. task_status="succeed"일 때까지 대기한 후 task_result.videos[0].url을 읽으세요. "failed"는 오류로 처리합니다. 로컬 폴링 타임아웃은 작업 ID를 보존해야 하며, 조회는 새로운 생성 없이 재개될 수 있어야 합니다.

import json
import os
import sys
import time
from pathlib import Path
import requests

route = "https://api.cometapi.com/kling/v1/videos/text2video"
headers = {"Authorization": f"Bearer {os.environ['COMETAPI_KEY']}"}

def read_task(response):
response.raise_for_status()
body = response.json()
if body.get("code") not in (None, 0):
raise RuntimeError(f"API error: {body.get('message', body.get('code'))}")
return body.get("data", body)

if len(sys.argv) > 1:
task_id = sys.argv[1]
else:
created = read_task(requests.post(
route, headers=headers,
json={
"model_name": "kling-v3",
"prompt": "A wristwatch on dark marble. Slow lateral camera motion, soft light, no cuts.",
"mode": "std", "duration": "5", "sound": "off",
}, timeout=(10, 60),
))
task_id = created["task_id"]
Path("video-task-id.txt").write_text(task_id, encoding="utf-8")
print(f"Task ID: {task_id}", flush=True)

deadline = time.monotonic() + 600
while time.monotonic() < deadline:
task = read_task(requests.get(
f"{route}/{task_id}", headers=headers, timeout=(10, 30),
))
state = task["task_status"]
if state == "failed":
raise RuntimeError(task.get("task_status_msg") or "Video task failed")
if state == "succeed":
Path("video-result.json").write_text(json.dumps(task), encoding="utf-8")
asset_url = task["task_result"]["videos"][0]["url"]
with requests.get(asset_url, stream=True, timeout=(10, 120)) as asset:
asset.raise_for_status()
with Path("product-video.mp4").open("wb") as output:
for chunk in asset.iter_content(chunk_size=1024 * 1024):
if chunk:
output.write(chunk)
print("Saved product-video.mp4")
break
time.sleep(5)
else:
raise TimeoutError(f"Polling stopped. Resume with task ID {task_id}.")


### Completion and recovery

product-video.mp4를 열어 끝까지 재생되는지 확인하세요. 스크립트는 다운로드 전에 작업 결과를 저장하므로, 다운로드 실패 시 새 클립을 생성할 필요가 없습니다. 로컬 폴링 마감은 대기만 중단하며, 원격 작업을 취소하지 않습니다. ID를 유지하고 조회를 재개하세요. 에셋 다운로드는 의도적으로 별도의 비인증 요청을 사용하므로 CometAPI 키가 미디어 호스트로 전송되지 않습니다.

비디오 예제는 텍스트 입력을 사용합니다. 승인된 이미지를 이 경로에 reference_image 필드를 임의로 추가해 첨부할 수 없습니다. image-to-video는 선택한 공급자의 문서화된 이미지 워크플로를 요구합니다.

## How Do You Extend a CometAPI Workflow for Production?

### Job records and reusable assets

각 애플리케이션 작업 단위로 프롬프트, 구성, 소스 에셋, 작업 ID, 출력 경로를 저장하세요. 이미지는 리비전을 별도 관리해 사용자가 승인된 버전으로 돌아갈 수 있게 합니다. 비디오의 경우, 요청 핸들러를 떠나기 전에 작업 ID를 영속화하고 워커가 조회를 관리하도록 하세요.

### Callbacks and reconciliation

비동기 비디오 전달에서는 CometAPI의 [폴링과 웹훅 가이드](https://apidoc.cometapi.com/guides/webhook-and-polling-for-video-generation)를 따르세요. 기본 폴링이 동작한 후에 콜백을 추가하고, 중복 알림도 안전하게 처리되도록 하세요. 콜백이 지연되거나 누락된 작업을 위한 조회 경로도 유지합니다.

## How Should You Handle Errors in a CometAPI Workflow?

문서화된 [API 오류 및 재시도 가이드](https://apidoc.cometapi.com/guides/error-codes-and-retry-strategy)를 적용해 CometAPI 워크플로를 구축하세요. 먼저 잘못된 요청과 일시적 전송 장애를 구분합니다. 응답 상태, 요청 식별자, 작업 ID는 서버 측 로그에 보관하되, 비밀 키는 제외하세요.

* 인증 실패: 재시도 전에 키, 계정 접근, 대상 호스트를 확인하세요.
* 지원되지 않는 파라미터: 문서화된 최소 요청으로 돌아간 뒤, 선택 필드를 하나씩 추가하세요.
* 레이트 리밋 또는 일시적 폴링 실패: 제한된 백오프로 대기한 후 기존 작업 조회를 재개하세요.
* 생성 타임아웃: 첫 요청이 작업을 생성했는지 확인한 뒤에만 다시 제출하세요. 생성 요청을 반복하면 추가 비용이 발생할 수 있습니다.
* 출력 다운로드 실패: 보관 중인 작업 결과를 사용하거나 기존 작업을 다시 조회하세요. 새 생성을 시작하지 마세요.

## Conclusion

먼저 서비스와 접근 경로를 선택하세요. Kenerate의 경우 공식 MCP/CLI 설정으로 시작하거나 지원팀과 엔터프라이즈 API 요구사항을 논의하세요. 별도의 CometAPI 구현에서는 키를 구성하고, 이미지 또는 Kling 경로를 따르며, 저장된 출력을 점검하고, 복구를 위해 비디오 작업 ID를 보관하세요. 유용한 첫 마일스톤은 로컬에서 유효한 이미지 하나, 편집된 변형본 하나, 재생 가능한 비디오 하나입니다.

## FAQ

### Can This CometAPI Workflow Run Entirely in a Browser?

브라우저는 프롬프트와 진행 상태를 표시할 수 있지만, 공개 프론트엔드에 비밀 API 키를 포함해서는 안 됩니다. 생성 요청과 작업 추적은 백엔드 뒤로 옮기고, 그곳에서 사용자를 인증한 뒤 인터페이스에 필요한 결과 또는 진행 상태만 반환하세요. 별도의 CometAPI 구현에도 동일한 분리를 적용하세요.

### What should a team request before Kenerate AI enterprise onboarding?

네이티브 API 문서와 계정에서 사용할 수 있는 모델 및 작업의 서면 설명을 요청하세요. 또한 인증, 쿼터, 과금, 작업 보존, 지원 주체를 명확히 하세요. 스튜디오 데모는 크리에이티브 역량을 보여주지만, 애플리케이션이 받게 될 요청 스키마나 서비스 조건을 확립해주지는 않습니다.

### Will the same Kenerate AI prompt produce identical API output?

그렇다고 가정하지 마세요. 먼저 정확한 모델 버전, 입력 에셋, 노출된 생성 설정을 일치시키세요. 스튜디오는 API 요청이 재현하지 못하는 기본값이나 처리를 추가할 수 있습니다. 간결한 브리프와 승인된 참조 에셋을 보존한 뒤, 픽셀 단위로 동일한 미디어를 기대하기보다는 실제 전달 요건에 비추어 새 출력을 검토하세요.
학습 계속하기

이 글을 다음 결정과 연결하세요.

모든 주제 보기
게시일 Oct 22, 2026
최종 업데이트 Oct 22, 2026
0 회 조회
명확성, 출처 표기 및 최신 API 용어에 대해 검토되었습니다.

더 보기