Seedance 2.5가 EvoLink에 출시되었습니다Seedance 2.5 체험하기
요청에서 콜백과 저장까지 이어지는 Grok Imagine Image 2.0 비동기 API 파이프라인
튜토리얼

EvoLink에서 Grok Imagine Image 2.0 API를 사용하는 방법

Jacey
Jacey
Founder
2026년 8월 12일
26분 소요
이 가이드에서는 EvoLink 사용자를 API 키에서 완료된 Grok Imagine Image 2.0 작업으로 안내합니다. 최소 경로는 model: "grok-imagine-image-2.0"와 함께 POST /v1/images/generations를 보내고, 반환된 작업 id를 저장한 다음 작업이 completed 또는 failed에 도달할 때까지 GET /v1/tasks/{task_id}를 쿼리합니다.
동일한 경로가 텍스트-이미지 변환 및 이미지 편집을 처리합니다. 텍스트에서 생성하려면 image_urls를 생략하세요. 참조에서 편집하거나 구성할 수 있는 공개 이미지 URL을 1~3개 포함하세요. 현재 가격 및 대화형 테스트를 보려면 Grok Imagine Image 2.0 모델 페이지를 사용하세요. 이 문서에서는 전체 매개변수 참조를 복제하는 대신 애플리케이션 흐름, 오류 처리, 저장 및 모델 대체에 중점을 둡니다.
EvoLink에서 Grok Imagine Image 2.0 열기
최종 확인 날짜: 2026년 8월 12일.
시각적 공개: 이 가이드의 표지와 지원 이미지는 워크플로 일러스트레이션으로 GPT Image 2를 사용하여 생성되었습니다. Grok Imagine Image 2.0 출력 샘플이 아닙니다.

무엇을 만들 것인가

가이드가 끝나면 애플리케이션은 다음을 수행할 수 있습니다.

  1. 텍스트를 이미지로 변환하는 작업을 생성합니다.
  2. 모델 ID를 변경하지 않고 참조 편집으로 전환합니다.
  3. 다중 이미지 프롬프트에서 색인된 참조를 사용합니다.
  4. ID별로 비동기 작업을 추적합니다.
  5. 완료 콜백을 안전하게 수락합니다.
  6. 24시간 URL이 만료되기 전에 결과를 유지합니다.
  7. 최종 사용량과 실패한 작업 환불을 조정합니다.
  8. 워크로드나 작업 결과에 따라 필요할 때 대체 경로로 전달합니다.
먼저 출시 사실과 테스트 범위를 확인하려면 Grok Imagine Image 2.0 출시 가이드를 읽어보세요. 이 가이드는 구현에 집중합니다.

시작하기 전에

EvoLink API 키 관리에서 API 키를 생성합니다. 서버 측 비밀 저장소나 환경 변수에 키를 보관하세요. 브라우저 JavaScript, 공개 저장소, 분석 이벤트, 스크린샷 또는 클라이언트 오류 보고서에 이를 노출하지 마십시오.
현재 EvoLink 계약
기본 URLhttps://api.evolink.ai
작업 만들기POST /v1/images/generations
쿼리 작업GET /v1/tasks/{task_id}
입증Authorization: Bearer YOUR_API_KEY
모델grok-imagine-image-2.0
텍스트를 이미지로image_urls 생략
이미지 편집1~3개의 공개 HTTP/HTTPS 이미지 URL을 제공하세요.
산출1K/2K, 낮음/중간, n=1-10
처리비동기 작업
결과 수명24시간
신뢰할 수 있는 필드 목록은 Grok Imagine Image 2.0 API 문서입니다. 게시 후 계약이 변경될 수 있으므로 배포하기 전에 다시 확인하세요.

1단계: API 키를 서버 측에 유지

셸 테스트의 경우 환경 변수에 키를 설정합니다.

export EVOLINK_API_KEY="your_api_key"
아래 예에서는 ${EVOLINK_API_KEY}를 사용합니다. 커밋될 코드 내부의 실제 키로 바꾸지 마세요.

2단계: 텍스트를 이미지로 변환하는 작업 만들기

프롬프트를 보내고 image_urls를 생략합니다.
curl --request POST "https://api.evolink.ai/v1/images/generations" \
  --header "Authorization: Bearer ${EVOLINK_API_KEY}" \
  --header "Content-Type: application/json" \
  --data '{
    "model": "grok-imagine-image-2.0",
    "prompt": "Editorial product photograph of a teal glass perfume bottle on pale limestone, warm coastal morning light, restrained luxury art direction, no text or logos",
    "size": "1:1",
    "resolution": "1K",
    "quality": "medium",
    "n": 1
  }'
생성 응답은 비동기 작업을 나타냅니다. id를 즉시 저장하세요.
{
  "id": "task-unified-1757156493-imcg5zqt",
  "model": "grok-imagine-image-2.0",
  "object": "image.generation.task",
  "progress": 0,
  "status": "pending",
  "type": "image",
  "usage": {
    "billing_rule": "per_call",
    "credits_reserved": 3.06,
    "user_group": "default"
  }
}

위의 예약 금액은 가격 약속이나 최종 청구 금액이 아닌 문서 예시입니다. 실시간 가격을 보려면 현재 모델 페이지를 사용하고 최종 사용을 위해서는 터미널 작업 응답을 사용하세요.

3단계: 비동기 작업 쿼리

제출에서 콜백과 영구 저장까지 이어지는 Grok Imagine Image 2.0 비동기 작업 흐름
제출에서 콜백과 영구 저장까지 이어지는 Grok Imagine Image 2.0 비동기 작업 흐름
이 이미지는 워크플로 예시로 GPT Image 2를 사용하여 생성되었습니다. Grok Imagine Image 2.0 출력 샘플이나 품질 결과가 아닙니다.
반환된 id를 작업 엔드포인트에 추가합니다. 값 주위에 중괄호를 포함하지 마십시오.
curl --request GET \
  "https://api.evolink.ai/v1/tasks/task-unified-1757156493-imcg5zqt" \
  --header "Authorization: Bearer ${EVOLINK_API_KEY}"
이 경로의 경우 쿼리 응답은 processing, completed 또는 failed를 사용합니다. 완료된 응답에는 results, 구조화된 result_data 및 최종 usage가 포함됩니다.
{
  "id": "task-unified-1757156493-imcg5zqt",
  "model": "grok-imagine-image-2.0",
  "object": "image.generation.task",
  "progress": 100,
  "status": "completed",
  "results": ["https://cdn.evolink.ai/images/generated-image.jpg"],
  "result_data": [
    {
      "url": "https://cdn.evolink.ai/images/generated-image.jpg",
      "mime_type": "image/jpeg"
    }
  ],
  "type": "image",
  "usage": {
    "credits_used": 3.06,
    "cost": {
      "credits": 3.06,
      "cny": 0.31,
      "usd": 0.05
    }
  }
}

해당 숫자 값은 예제 응답 값입니다. 자신의 터미널 작업에서 반환된 값을 기록하세요. 고객 청구액을 계산하는 데 이 예를 사용하지 마십시오.

4단계: 제어된 폴링 추가

폴링은 터미널 상태에서 중지되고, 요청 사이에서 물러나고, 애플리케이션 시간 초과를 적용해야 합니다. 다음 서버 측 TypeScript 예제는 작업 흐름을 명시적으로 유지합니다.

type GrokTaskStatus = "processing" | "completed" | "failed";

type GrokTask = {
  id: string;
  status: GrokTaskStatus;
  progress: number;
  results?: string[];
  error?: {
    code: string;
    message: string;
    type: "task_error";
  };
};

const API_BASE_URL = "https://api.evolink.ai";

async function getTask(apiKey: string, taskId: string): Promise<GrokTask> {
  const response = await fetch(`${API_BASE_URL}/v1/tasks/${taskId}`, {
    headers: { Authorization: `Bearer ${apiKey}` },
    cache: "no-store",
  });

  if (!response.ok) {
    throw new Error(`Task query failed with HTTP ${response.status}`);
  }

  return response.json() as Promise<GrokTask>;
}

async function waitForTask(
  apiKey: string,
  taskId: string,
  timeoutMs = 180_000,
): Promise<GrokTask> {
  const startedAt = Date.now();
  let intervalMs = 2_000;

  while (Date.now() - startedAt < timeoutMs) {
    const task = await getTask(apiKey, taskId);

    if (task.status === "completed" || task.status === "failed") {
      return task;
    }

    await new Promise((resolve) => setTimeout(resolve, intervalMs));
    intervalMs = Math.min(Math.round(intervalMs * 1.5), 10_000);
  }

  throw new Error("Grok Imagine Image 2.0 task timed out in the application");
}

애플리케이션 시간 초과는 업스트림 작업이 실패했다는 증거가 아닙니다. 생성을 재시도하기 전에 원래 작업을 다시 쿼리하거나 자체 작업 계층에서 멱등성 전략을 사용하세요. 그렇지 않으면 클라이언트 시간 초과로 인해 청구 가능한 중복 작업이 생성될 수 있습니다.

5단계: 단일 참조 편집으로 전환

모드를 전환하려면 image_urls를 추가하세요. 입력 이미지는 HTTP 또는 HTTPS를 통해 공개적으로 액세스할 수 있어야 합니다. base64 및 데이터 URL은 현재 계약에서 지원되지 않습니다. 지원되는 확장자는 JPEG, JPG, PNG 및 WebP입니다.
curl --request POST "https://api.evolink.ai/v1/images/generations" \
  --header "Authorization: Bearer ${EVOLINK_API_KEY}" \
  --header "Content-Type: application/json" \
  --data '{
    "model": "grok-imagine-image-2.0",
    "prompt": "Move the chair into a quiet rain-soaked garden room. Preserve the chair shape, teal upholstery, camera angle, and scale. Change only the environment and reflected light.",
    "image_urls": [
      "https://example.com/chair.webp"
    ],
    "size": "4:3",
    "resolution": "1K",
    "quality": "medium",
    "n": 1
  }'

애플리케이션은 유료 작업을 생성하기 전에 개수, 프로토콜, 파일 유형 및 서버 연결 가능성을 검증해야 합니다. 로그인된 브라우저에서 작동하는 URL은 여전히 ​​생성 서비스에 액세스하지 못할 수 있습니다.

6단계: 여러 참조로 작성

2개 또는 3개의 참조 이미지의 경우 프롬프트에서 0부터 시작하는 인덱스를 사용합니다. 인덱스는 image_urls의 위치에 매핑됩니다.
curl --request POST "https://api.evolink.ai/v1/images/generations" \
  --header "Authorization: Bearer ${EVOLINK_API_KEY}" \
  --header "Content-Type: application/json" \
  --data '{
    "model": "grok-imagine-image-2.0",
    "prompt": "Place the person from <IMAGE_0> in the architectural setting from <IMAGE_1>, carrying the blue sculptural bag from <IMAGE_2>. Preserve the outfit silhouette and match the late-afternoon direction of light.",
    "image_urls": [
      "https://example.com/person.webp",
      "https://example.com/location.webp",
      "https://example.com/bag.webp"
    ],
    "size": "3:4",
    "resolution": "2K",
    "quality": "medium",
    "n": 1
  }'

프롬프트와 함께 정확한 배열 순서를 저장합니다. 사용자 인터페이스를 통해 업로드 순서를 변경할 수 있는 경우 배열 및 인덱스 레이블을 함께 업데이트하세요.

7단계: 작업 흐름 단계에 따라 매개변수 선택

Grok Imagine Image 2.0는 13가지 비율과 auto, 1K/2K 해상도, 저/중 품질 및 n=1-10를 지원합니다.
매개변수결정하는데 활용하세요생산 규칙
size납품 형태 또는 모델 선택 auto제출하기 전에 문서화된 비율 열거에 대해 유효성을 검사하세요.
resolution1K 초안/검토 vs 2K 전달 후보4K를 보내지 마십시오. 경로가 지원하지 않습니다
quality더 빠르고 저렴한 비용으로 탐색하려면 낮음, 자세한 내용은 중간실제 승인 기준에 따라 계층을 평가합니다.
n독립 출력 수각 출력이 독립적으로 청구되므로 제품 작업 및 예산별로 한도를 정하세요.
image_urls텍스트 전용 생성과 참조 편집텍스트를 이미지로 변환하는 경우 완전히 생략합니다. URL은 최대 3개까지 허용됩니다.

임의의 클라이언트 JSON을 API에 직접 전달하는 대신 요청 허용 목록을 사용하세요. 이렇게 하면 지원되지 않는 필드, 과도한 배치 또는 내부 콜백 URL이 경로에 도달하는 것을 방지할 수 있습니다.

8단계: 제작 완료를 위해 콜백 사용

애플리케이션이 공개 HTTPS 엔드포인트를 노출할 수 있는 경우 callback_url를 전달합니다.
{
  "model": "grok-imagine-image-2.0",
  "prompt": "A clean ecommerce product scene with soft daylight",
  "callback_url": "https://your-domain.com/webhooks/evolink/image-task"
}

현재 계약에서는 작업이 완료되거나, 실패하거나, 취소될 때 청구 확인 후 콜백이 전송된다고 명시하고 있습니다. EvoLink는 최대 10초를 기다리고 1초, 2초, 4초 후에 실패한 콜백을 세 번 다시 시도할 수 있습니다. 2xx 응답은 배달 성공을 표시합니다.

멱등성이 있도록 수신기를 설계합니다.

  1. EvoLink 계정 및 웹훅 설정이 지원하는 메커니즘을 사용하여 요청을 인증합니다.
  2. 작업 ID와 예상 모델을 검증합니다.
  3. 배달할 때마다 새 결과를 삽입하는 대신 작업 ID별로 업데이트합니다.
  4. 지속성 지속 후에 2xx를 반환합니다.
  5. 느린 다운로드 및 검토 작업을 대기열로 이동합니다.
  6. 웹훅 전달을 확인할 수 없는 경우 복구 경로로 계속 폴링합니다.

콜백 URL은 HTTPS를 사용해야 하며 로컬 호스트, 개인 IP 범위 또는 내부 서비스 주소를 가리킬 수 없습니다.

9단계: 만료되기 전에 결과 저장

완성된 이미지 URL은 24시간 동안 사용할 수 있습니다. 영구 애플리케이션 저장소가 아닌 전송 URL로 취급하십시오.

완료 후:

  1. 작업이 현재 계정 및 작업에 속하는지 확인합니다.
  2. results 또는 result_data의 모든 항목을 다운로드합니다.
  3. 콘텐츠 유형과 파일 크기를 확인합니다.
  4. 파일을 자신의 개체 저장소에 저장합니다.
  5. 영구 URL과 콘텐츠 해시를 저장합니다.
  6. 생성 매개변수와 검토 상태를 기록합니다.
  7. 참조 입력 및 출력에 보존 및 삭제 정책을 적용합니다.
n가 1보다 큰 경우 생성 순서에 따라 독립적인 결과 URL이 예상됩니다. 제품이 의도적으로 하나의 결과를 선택하지 않는 한 첫 번째 항목만 유지하지 마십시오.

10단계: 실패 및 청구를 올바르게 처리

생성 응답으로 크레딧이 예약될 수 있지만 청구 금액은 터미널 사용량에 따라 결정됩니다. EvoLink의 작업 계약에 따라 최종 failed 작업은 업스트림 거부, 콘텐츠 조정 차단 및 시간 초과를 포함하여 완전히 환불됩니다.
결과적용 조치결제 작업
completed모든 결과 유지, 승인 확인 실행, 작업 완료 표시최종 usage 저장 및 비용 내역
재시도 가능한 인프라 오류가 있는 failed제한된 백오프를 적용하거나 확인된 폴백으로 라우팅최종 청구 금액이 0인지/환불되었는지 확인하세요.
콘텐츠 정책 오류가 있는 failed실행 가능한 프롬프트/입력 메시지를 표시합니다. 무조건 재시도하지 마세요환불을 확인하고 오류 코드를 보관하세요
애플리케이션 폴링 시간 초과다른 작업을 생성하기 전에 동일한 작업을 다시 쿼리하세요.시간 초과가 환불 또는 실패를 의미한다고 가정하지 마십시오.
작업 생성 전 잘못된 요청유효성 검사 또는 권한 수정조정할 비동기 작업이 없습니다.
최종 작업 상태를 확인하지 않고 실패한 모든 경험이 무료라고 사용자에게 약속하지 마세요. 품질이 낮은 완성된 이미지는 여전히 완료된 작업입니다. 제품 내부의 품질 거부는 API 수준 failed 상태와 다릅니다.

폴링 전 요청 수준 HTTP 오류 처리

비동기 작업이 생성되기 전에 일부 오류가 발생합니다. 현재 API 참조에는 다음과 같은 요청 수준 응답이 문서되어 있습니다.

HTTP 상태문서화된 의미신청 응답
400잘못된 요청 매개변수 또는 형식재시도하기 전에 요청 허용 목록, 필수 필드, 열거형, URL 수, JSON 형태를 검증하세요.
401인증 오류서버가 유효한 Bearer 키를 보냈는지 확인하세요. 클라이언트 로그에 키를 절대 노출하지 마세요
402할당량이 부족합니다.자동 재시도를 중지하고 계정 소유자에게 예산을 재충전하거나 조정하도록 지시합니다.
403접근 불가프롬프트를 맹목적으로 변경하는 대신 계정 또는 라우팅 권한을 확인하세요.
429요청 비율 제한을 초과했습니다.제한된 지수 백오프 및 대기열 작업을 적용합니다. 즉각적인 재시도를 팬아웃하지 마세요.
500내부 서버 오류제한된 인프라 정책에서만 재시도하고 작업이 허용하는 경우 확인된 대체를 사용합니다.
생성 응답이 id 작업을 반환한 경우에만 폴링을 시작합니다. 요청 수준 오류에는 조정을 위해 기록을 쿼리하거나 환불하는 비동기 작업이 없습니다.

11단계: 대체 라우팅 추가

재시도, 대체 경로, 실패 작업 예약 취소를 위한 프로덕션 폴백 흐름
재시도, 대체 경로, 실패 작업 예약 취소를 위한 프로덕션 폴백 흐름
이것은 쌍을 이루는 모델 벤치마크가 아닌 GPT Image 2에서 생성된 워크플로 그림입니다.

통합에서는 제품 작업을 공급자별 모델 ID와 분리해야 합니다.

type ImageRoute = "grok-imagine-image-2.0" | "gpt-image-2";

type ImageJob = {
  prompt: string;
  imageUrls: string[];
  requiresMask: boolean;
  requires4K: boolean;
};

function chooseImageRoute(job: ImageJob): ImageRoute {
  if (job.requiresMask || job.requires4K || job.imageUrls.length > 3) {
    return "gpt-image-2";
  }

  return "grok-imagine-image-2.0";
}

이 예는 하나의 모델이 더 나은 이미지를 생성한다는 주장이 아니라 계약 수준의 시작 정책입니다. 의미 있는 트래픽을 라우팅하기 전에 자체 승인 데이터, 대기 시간, 비용, 조정 및 가용성 관찰을 추가하세요.

전체 선택 프레임워크를 보려면 Grok Imagine Image 2.0 대 GPT Image 2를 읽어보세요.

생산 인계 체크리스트

  • 서버 측 비밀 관리자에 저장된 API 키.
  • 요청 본문 허용 목록이 현재 EvoLink 문서와 일치합니다.
  • 모델 ID는 경로 구성에 중앙 집중화되어 있습니다.
  • 참조 이미지는 공개되고 검증되었으며 3개로 제한됩니다.
  • 다중 참조 인덱스는 지속된 입력 순서와 일치합니다.
  • 완료/실패 시 폴링이 중지되고 백오프를 사용합니다.
  • 애플리케이션 시간 초과로 인해 자동으로 중복 작업이 생성되지 않습니다.
  • 콜백 처리는 멱등성이 있고 빠릅니다.
  • 결과 파일은 24시간 만료 전에 복사됩니다.
  • 최종 사용량은 예약된 크레딧과 별도로 저장됩니다.
  • 실패한 작업 환불이 조정되었습니다.
  • 재시도 가능한 오류와 재시도 불가능한 오류가 구분됩니다.
  • 필수 기능 또는 중단에 대해 테스트된 대체 경로가 존재합니다.
  • 로그에서는 API 키와 민감한 참조 URL을 제외합니다.

자주 묻는 질문

Grok Imagine Image 2.0 작업을 생성하는 엔드포인트는 무엇인가요?

Bearer 인증과 필수 modelprompt 필드와 함께 POST https://api.evolink.ai/v1/images/generations를 사용합니다.

어떤 모델 ID를 보내야 하나요?

현재 EvoLink 경로에 대해 grok-imagine-image-2.0를 보냅니다.

생성에서 편집으로 어떻게 전환하나요?

모델 ID를 변경하지 않고 유지하세요. 텍스트를 이미지로 변환하려면 image_urls를 생략하거나 편집을 위해 1~3개의 URL을 전달하세요.

Base64 이미지 데이터를 보낼 수 있나요?

아니요. 현재 계약은 공개적으로 액세스 가능한 HTTP 또는 HTTPS URL을 허용하며 base64 또는 데이터 URL을 지원하지 않습니다.

결과를 어떻게 쿼리하나요?

create 호출에서 반환된 id 작업을 저장한 다음 동일한 Bearer 인증 패턴으로 GET https://api.evolink.ai/v1/tasks/{task_id}를 보냅니다.

콜백을 폴링해야 하나요, 아니면 콜백을 사용해야 하나요?

정상적인 생산 완료 및 복구 경로로 폴링을 위해 콜백을 사용합니다. 간단한 서버측 프로토타입은 백오프 폴링으로 시작할 수 있습니다.

완성된 이미지 링크는 언제까지 유효한가요?

현재 문서에는 24시간이라고 나와 있습니다. 완성된 파일은 즉시 영구 저장소에 복사하세요.

실패한 작업에는 요금이 부과되나요?

최종 failed 상태에 도달한 작업은 현재 EvoLink 작업 설명서에 따라 전액 환불됩니다. 자체 품질 검토에 의해 거부된 완성 이미지는 API 실패와 동일하지 않습니다.

4K 또는 고화질을 요청할 수 있나요?

아니요. 이 경로는 현재 1K/2K 및 낮음/중간을 지원합니다. 4K 또는 High가 어려운 요구 사항인 경우 다른 검증된 경로를 사용하십시오.

Grok을 다른 이미지 경로와 어디에서 비교할 수 있나요?

Grok Imagine Image 2.0 대 GPT Image 2 결정 가이드를 사용한 다음 자체 페어링된 테스트 세트로 두 가지를 모두 검증하세요.

출처

이 가이드는 2026년 8월 12일에 확인된 EvoLink 계약을 반영합니다. 배송 전에 API 문서, 특히 모델 필드, 출력 제한, 콜백 동작 및 작업 응답 스키마를 다시 확인하세요.

AI 비용을 89% 절감할 준비가 되셨나요?

오늘 EvoLink를 시작하고 지능형 API 라우팅의 힘을 경험해보세요.