Communitygithub.com

CloudRelay-이미지생성-스킬

CloudRelay의 비동기 이미지 API를 위한 크로스 클라이언트 에이전트 스킬로, Cloudflare의 약 120초 타임아웃을 우회하고 에이전트에게 작업 제출, 폴링, 결과 처리 방법을 가르쳐줍니다.

CloudRelay-이미지생성-스킬란 무엇인가요?

CloudRelay의 비동기 이미지 생성 API를 활용하는 에이전트 스킬입니다. Cloudflare Workers의 최대 실행 시간(약 120초) 제한을 우회하기 위해 설계되었으며, 긴 이미지 생성 작업을 비동기적으로 처리할 수 있습니다. 에이전트는 작업을 제출하고, 작업 ID를 받아 폴링하며, 완료된 결과를 가져오는 전체 워크플로를 배웁니다. Claude Code, Cursor, Codex 등 다양한 AI 에이전트 클라이언트와 호환되며, REST API 엔드포인트를 통해 이미지 생성, 변형, 업스케일링을 지원합니다. SKILL.md 문서에는 환경 변수 설정, API 인증, 작업 제출(POST /api/jobs), 폴링(GET /api/jobs/:id), 결과 수신(GET /api/jobs/:id/result)의 세부 단계가 포함되어 있습니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add CloudRelay-Code/cloudrelay-imagegen-skill

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

CloudRelay-이미지생성-스킬은(는) 무엇을 하나요?

CloudRelay의 비동기 이미지 API를 위한 크로스 클라이언트 에이전트 스킬로, Cloudflare의 약 120초 타임아웃을 우회하고 에이전트에게 작업 제출, 폴링, 결과 처리 방법을 가르쳐줍니다.

개요

이 스킬은 에이전트가 CloudRelay의 비동기 이미지 생성 API와 상호 작용할 수 있도록 합니다. Cloudflare Workers는 최대 120초의 실행 시간 제한이 있으므로, 긴 이미지 생성 작업은 비동기적으로 처리되어야 합니다. 이 스킬은 에이전트에게 다음 작업 흐름을 안내합니다:

  1. 작업 제출 (POST /api/jobs)
  2. 작업 상태 폴링 (GET /api/jobs/:id)
  3. 완료된 결과 수신 (GET /api/jobs/:id/result)

필수 조건

  • 유효한 CloudRelay API 키 (CLOUDRELAY_API_KEY)
  • cloudrelay.com 기본 URL
  • HTTPie 또는 curl (CLI 예제용)

환경 변수

export CLOUDRELAY_API_KEY="your-api-key-here"
export CLOUDRELAY_BASE_URL="https://api.cloudrelay.com"

API 엔드포인트

1. 이미지 생성 작업 제출

# 이미지 생성 작업 제출
http POST "$CLOUDRELAY_BASE_URL/api/jobs" \
  Authorization:"Bearer $CLOUDRELAY_API_KEY" \
  prompt="An astronaut riding a horse on Mars" \
  width=1024 \
  height=1024 \
  steps=50

요청 본문:

필드타입설명기본값
prompt문자열이미지 생성을 위한 프롬프트(필수)
width정수이미지 너비512
height정수이미지 높이512
steps정수샘플링 단계 수30

성공 응답:

{
  "id": "job_abc123",
  "status": "queued",
  "created_at": "2025-03-22T12:00:00Z"
}

2. 작업 상태 폴링

작업 ID로 상태를 폴링합니다:

# 작업 상태 확인
http GET "$CLOUDRELAY_BASE_URL/api/jobs/job_abc123" \
  Authorization:"Bearer $CLOUDRELAY_API_KEY"

응답 상태:

상태설명
queued작업이 대기열에 있음
processing이미지가 생성 중
completed이미지가 완료되어 검색 가능
failed작업이 실패함 (오류 메시지 포함)

완료 예제 응답:

{
  "id": "job_abc123",
  "status": "completed",
  "result_url": "https://cdn.cloudrelay.com/images/job_abc123.png",
  "completed_at": "2025-03-22T12:05:00Z"
}

3. 결과 수신

완료 시 결과 URL에서 이미지를 가져옵니다:

# 생성된 이미지 다운로드
wget https://cdn.cloudrelay.com/images/job_abc123.png

또는 작업 ID에서 직접:

# 결과 엔드포인트에서 다운로드
http GET "$CLOUDRELAY_BASE_URL/api/jobs/job_abc123/result" \
  Authorization:"Bearer $CLOUDRELAY_API_KEY" > output.png

에이전트 사용 예제

작업 제출 (Claude Code)

에이전트는 `CLOUDRELAY_API_KEY`가 설정되어 있는지 확인한 후, 다음 API 호출을 수행합니다:
1. `POST /api/jobs`를 적절한 페이로드로 호출하여 작업을 제출합니다.
2. 응답에서 `id` 필드를 추출합니다.
3. `status`가 `completed` 또는 `failed`가 될 때까지 5초마다 `GET /api/jobs/:id`를 폴링합니다.
4. `completed`인 경우 `result_url` 또는 `/api/jobs/:id/result`에서 이미지를 가져옵니다.
5. `failed`인 경우 오류 메시지를 사용자에게 보고합니다.

폴링 지연

Cloudflare 제한을 초과하지 않기 위해:

  • 처음 90초 동안은 5초마다 폴링합니다.
  • 90초 후에는 10초마다 폴링합니다.
  • 최대 300초(5분) 동안 기다린 후 타임아웃됩니다.

일반적인 오류

오류 코드설명해결 방법
401인증 실패 - API 키 누락 또는 잘못됨CLOUDRELAY_API_KEY 확인
429속도 제한 초과재시도 전에 잠시 기다림
500서버 내부 오류CloudRelay 지원팀에 문의

보안 고려 사항

  • API 키를 코드나 버전 관리에 절대 하드코딩하지 마십시오.
  • 프로덕션 환경에서는 환경 변수나 비밀 관리자를 사용하십시오.
  • result_url은 일회용이며 만료될 수 있으므로, 에이전트는 가능한 빨리 다운로드해야 합니다.

관련 스킬