PopNowAPI 문서
도움말
본문

문제 해결

자주 겪는 문제의 해결책. 첫 호출의 401부터 오지 않는 웹훅까지.

증상을 찾아 해결책을 시도해 보세요. 그래도 안 되면 request_id와 함께 고객 지원에 문의하세요.

첫 호출이 실패할 때

401 "Missing credentials". Authorization 헤더가 도착하지 않았습니다. 요청을 실행하는 셸이나 프로세스에 환경 변수가 설정됐는지(echo ${POPNOW_API_KEY:0:10}가 sk-popnow-를 출력해야 함), 프록시나 HTTP 라이브러리가 헤더를 빼먹지 않는지 확인하세요.

401 "Key format is not recognized". 그 값은 PopNow 키가 아닙니다. 클립보드에 있던 다른 값인 경우가 많습니다. 키는 sk-popnow-로 시작합니다.

401 "Credentials are invalid or expired". 키가 폐기됐거나, 만료됐거나, 잘못 입력됐습니다. API 콘솔에서 새로 만드세요.

40310. 계정 이메일이 아직 인증되지 않았습니다. 가입 메일의 링크를 열면 키가 바로 동작합니다.

40201 "Insufficient balance". 이 작업에 잡아 둘 크레딧이 부족합니다. 영상은 홀드 금액이 클 수 있습니다. jobs/quote로 가격을 확인하고 크레딧을 구매하세요.

요청이 거부될 때

필드 이름이 나오는 400. input이 모델 스키마와 맞지 않습니다. 필드 이름 오타, 허용되지 않는 값, 빠진 필수 필드 등입니다. 모델에서 그 모델의 레퍼런스 페이지를 열어 비교하세요.

400 "Invalid callback URL". callBackUrl은 포트 443의 공개 HTTPS여야 하고 사용자 이름이나 비밀번호가 없어야 합니다. localhost와 사설 주소는 거부됩니다.

40004. 모델은 정상이지만 지금 이 설정 조합을 처리할 수 없습니다. msg에 나온 설정(대개 해상도, 길이, 화면 비율)을 바꾸세요.

50301. 모델이 잠시 작업을 받을 수 없습니다. 나중에 다시 하거나 다른 모델을 고르세요.

413. JSON 본문이 2 MiB를 넘었습니다. 대개 인라인 이미지 때문입니다. 업로드로 바꾸세요.

작업이 실패할 때

invalid_asset. 참조 파일을 가져오거나 읽지 못했습니다. 브라우저의 시크릿 창에서 URL을 열어 보세요. 로그인 없이 파일 자체가 내려받아져야 합니다. 클라우드 드라이브의 공유 페이지는 안 됩니다.

content_rejected. 모델이 프롬프트나 참조 이미지를 거절했습니다. 표현을 바꾸거나, 다른 참조를 쓰거나, 다른 모델을 써 보세요.

timeout 또는 expired. 허용 시간을 넘겼습니다. 더 짧게 또는 더 낮은 해상도로 해 보세요.

generation_failed. 모델이 돌았지만 결과가 없습니다. 같은 입력은 같은 식으로 실패하기 쉬우니 프롬프트나 설정을 바꾸세요.

실패하거나 만료된 작업은 크레딧을 쓰지 않습니다.

결과

다운로드 링크가 403이나 "expired"를 돌려줌. 서명 링크는 약 20분 동안 유효합니다. recordInfo로 작업을 다시 읽어 새 링크를 받으세요.

API 키를 붙이면 다운로드 링크가 실패함. 서명 링크에 Authorization을 보내지 마세요. 링크 자체가 권한입니다.

내가 만든 작업인데 recordInfo가 404를 돌려줌. 작업은 만든 키에서만 보입니다. 같은 키를 쓰거나 API 콘솔에서 찾아보세요.

웹훅

아무것도 오지 않음. URL이 인터넷에서 HTTPS로 접근 가능한지, 방화벽이 허용하는지, 핸들러가 15초 안에 2xx를 돌려주는지 확인하세요. 실패한 전송은 API 콘솔에 나옵니다.

서명이 계속 안 맞음. 다시 직렬화한 JSON이 아니라 받은 그대로의 본문 바이트를 해시하세요. data.taskId, X-Webhook-Timestamp 헤더, 가장 최근에 만든 시크릿을 쓰세요.

같은 작업이 두 번 옴. 재시도 후라면 정상입니다. request_id로 중복을 무시하세요.

업로드

PUT이 저장소에서 403을 받음. 헤더가 티켓과 다릅니다. Content-Type과 Content-Length를 받은 그대로 보내고 Authorization 헤더는 빼세요.

커밋이 40003을 돌려줌. 올린 파일이 선언한 것과 다릅니다. 올바른 contentType과 bytes로 티켓을 다시 받으세요.

커밋이 409를 돌려줌. 티켓이 만료됐습니다(약 20분). 업로드 직전에 받으세요.

이 페이지에서