Nodaro 문서
문서노드 레퍼런스모델템플릿AI 에이전트(MCP)개발자셀프 호스팅리서치비교
REST API

장소

REST로 장소를 다루는 방법입니다. 장소를 만들고 보관하며, 설정 샷과 시간대·날씨·앵글 변형, 360도 뷰, 모션 클립을 생성합니다.

장소 API는 장소 스튜디오에서 하는 모든 일을 스크립트로 처리합니다. 장소를 만들고, 설정 샷 후보를 생성하고, 그중 하나를 승인한 뒤, 시간대, 날씨, 계절, 카메라 앵글, 조명별 변형과 반복 재생되는 분위기 클립을 추가합니다. 그러면 이미지 노드와 동영상 노드가 장소를 재사용하므로, 같은 골목이나 도서관이 모든 샷에서 똑같이 보입니다.

이 경로들은 모든 에디션에서 작동하지만, 360도 뷰 경로에는 Nodaro Cloud가 필요합니다. 경로에는 Bearer 토큰을 보내세요. 개인 API 토큰(ndr_…), OAuth 앱 토큰(ndr_app_…), 또는 Community Edition의 세션 토큰을 쓸 수 있습니다. 인증을 참고하세요.

엔드포인트

메서드경로기능
GET/v1/locations내 장소 목록을 반환합니다.
GET/v1/locations/:id장소 하나를 진행 중인 작업, 최근 후보와 함께 반환합니다.
POST/v1/locations장소를 만들거나, 본문에 id가 있으면 그 장소를 수정합니다.
DELETE/v1/locations/:id장소를 보관합니다. 나중에 복원할 수 있습니다.
DELETE/v1/locations/:id?permanent=true보관된 장소와 그 파일을 영구 삭제합니다.
POST/v1/locations/:id/restore보관된 장소를 복원합니다.
POST/v1/generate-location설정 샷 후보를 1~10개 생성합니다.
POST/v1/generate-location-asset시간대, 날씨, 계절, 앵글, 조명 또는 사용자 지정 변형을 하나 생성합니다.
POST/v1/generate-surround-continuationNodaro Cloud 전용입니다. 360도 둘러보기의 다음 뷰를 생성합니다.
POST/v1/generate-location-motion설정 샷을 분위기 클립으로 애니메이션화합니다.
POST/v1/locations/:id/approve-main-image후보를 대표 이미지로 승인하고 장소의 설명을 작성합니다.
POST/v1/locations/:id/llm-caption현재 대표 이미지에서 설명을 다시 작성합니다.

장소에 담기는 정보

필드담기는 정보
id, name, description식별자, 표시 이름, 장소의 특징 메모입니다.
categoryindoor, outdoor, urban, nature, fantasy, sci-fi, historical, futuristic 또는 other입니다.
stylerealistic, anime, 3d-pixar 또는 illustration입니다.
sourceImageUrl기준이 되는 설정 샷으로, 후보를 승인하면 설정됩니다.
canonicalDescription약 80~120단어 분량의 시각적 설명으로, 대표 이미지가 승인될 때 Nodaro가 작성합니다. 그전까지는 빈 문자열입니다.
styleLock대표 이미지를 바탕으로 변형을 생성할지 여부입니다. 기본값은 true입니다.
timeOfDay, weather, seasons, angles, lighting, atmosphereMotions에셋 버킷입니다. 각 항목은 { name, url }이며, atmosphereMotions에는 동영상이 들어 있습니다.
referencePhotos무드 보드 사진 최대 20장이며, 각각 { kind, url } 형식입니다.
piiConsentAt레퍼런스 사진에 대한 동의를 확인한 시각, 또는 null입니다.
pendingJobs, previousCandidatesGET /v1/locations/:id에만 있습니다. 아직 실행 중인 변형 작업과, 최근 대표 이미지 후보 최대 5개를 최신순으로 담습니다.

에셋 버킷

버킷보여 주는 것프리셋 변형
timeOfDay다른 시간대의 같은 프레임dawn, morning, noon, afternoon, golden hour, dusk, blue hour, night, midnight
weather다른 날씨의 같은 프레임clear, cloudy, light rain, heavy rain, storm, snow, blizzard, fog, mist
seasons다른 계절의 같은 프레임spring, summer, autumn, winter
angles다른 카메라 앵글에서 본 장소wide, medium, closeup, aerial, low-angle, eye-level, bird's-eye, dutch tilt
lighting다른 조명 설정soft natural, harsh sunlight, golden, blue hour, neon, candlelit, cinematic, dramatic chiaroscuro
atmosphereMotions반복 재생되는 분위기 카메라 움직임slow dolly-in, slow pan-left, slow pan-right, push up, drone fly-over, gentle drift, parallax, static atmospheric

무드 보드는 장소와 함께 전달됩니다. 장소를 사용하는 모든 노드가 이 사진들을 추가 레퍼런스로 받습니다. 각 사진의 kind는 그 사진의 용도를 모델에 알려 줍니다.

kind용도
wide같은 장소를 더 넓게 담은 모습입니다.
interior, exterior대표 이미지가 바깥을 보여 줄 때의 안쪽 모습, 또는 그 반대입니다.
detail조각상, 간판, 재질처럼 장소를 특징짓는 세부입니다.
moodBoard색 구성이나 느낌입니다.
other그 밖의 모든 것입니다.

사진은 최대 20장까지 추가할 수 있으며, 종류별 개수에는 제한이 없습니다.

레퍼런스 사진에는 사람의 얼굴이 나올 수 있습니다. 장소에 처음 사진을 추가할 때 piiConsentAt도 현재 시각으로 설정하세요. 이 값은 사진을 사용할 권리와 동의가 있음을 기록합니다. 이 값이 null인 동안에는 다음에 누군가 장소를 열 때 에디터가 동의를 요청합니다.

장소 목록과 조회

GET /v1/locations는 내 활성 장소를 반환합니다. 보관함을 보려면 archived=true를 추가하세요. 이름이나 설명에 그 단어가 모두 들어 있는 장소만 남기려면 q를 추가하세요. 대소문자는 구분하지 않으며, 캐릭터와 같은 검색입니다. limit이 없으면 전체 목록을 반환하고, limit(최대 500)이 있으면 한 페이지와 nextCursor를 반환합니다. nextCursor가 null이 될 때까지 이 값을 cursor로 다시 보내세요.

GET /v1/locations/:id는 보관 여부와 관계없이 장소 하나를 반환하므로, 보관된 장소를 사용하는 워크플로도 계속 작동합니다.

curl "https://app.nodaro.ai/v1/locations?limit=100" \
  -H "Authorization: Bearer $NODARO_API_KEY"

curl https://app.nodaro.ai/v1/locations/9a1d3f5b-7c2e-4a8d-b6f1-3e5c7a9b2d4f \
  -H "Authorization: Bearer $NODARO_API_KEY"
import { createClient, StaticTokenAuth } from '@nodaro/sdk'

const client = createClient({
  baseUrl: 'https://app.nodaro.ai',
  auth: new StaticTokenAuth(process.env.NODARO_API_KEY!),
})

const { locations } = await client.locations.list()
const alley = await client.locations.get(locations[0].id)
console.log(alley.previousCandidates)
nodaro locations list --json
nodaro locations get <id> --json

장소 만들기 또는 수정

POST /v1/locations는 본문에 id가 없으면 장소를 만들고, 있으면 그 장소를 수정합니다. 만들 때는 nodeId와 name이 필요합니다. 캔버스 노드가 없으면 nodeId에는 "scripted"처럼 아무 레이블이나 쓰세요.

수정할 때는 보낸 필드만 기록되며, 에셋 버킷은 절대 기록되지 않습니다. 장소의 현재 updatedAt 값을 expectedUpdatedAt으로 보내면, 내가 읽은 뒤 누군가 장소를 바꾼 경우 409 concurrent_modification으로 수정이 거부됩니다.

curl -X POST https://app.nodaro.ai/v1/locations \
  -H "Authorization: Bearer $NODARO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "nodeId": "scripted",
    "name": "Rainy Tokyo Alley",
    "description": "Neon-soaked alley with vending machines and wet pavement",
    "category": "urban",
    "style": "realistic"
  }'
const { id } = await client.locations.create({
  nodeId: 'scripted',
  name: 'Rainy Tokyo Alley',
  description: 'Neon-soaked alley with vending machines and wet pavement',
  category: 'urban',
  style: 'realistic',
})

const location = await client.locations.get(id)
await client.locations.update(id, {
  referencePhotos: [{ kind: 'wide', url: 'https://cdn.nodaro.ai/uploads/alley-wide.jpg' }],
  piiConsentAt: new Date().toISOString(),
  expectedUpdatedAt: location.updatedAt,
})
nodaro locations create "Rainy Tokyo Alley" --node-id scripted \
  --description "Neon-soaked alley with vending machines and wet pavement" \
  --category urban --style realistic

nodaro locations update <id> --style-lock false

속성

타입

만들기 요청은 { id }를 반환합니다.

스타일 고정은 변형을 만드는 방식을 결정합니다. 기본값인 스타일 고정이 켜져 있으면 모든 변형이 승인된 대표 이미지를 바탕으로 생성되므로, 건물, 재질, 구도가 그대로 유지됩니다. 스타일 고정이 꺼져 있으면 변형은 텍스트만으로 생성되며, 장소를 다르게 해석할 수 있습니다.

설정 샷 후보 생성

POST /v1/generate-location은 후보마다 작업을 하나씩 시작하고 jobIds를 반환합니다. 후보가 하나인 요청은 jobId도 반환합니다.

  • 후보 하나, 연결. attachToLocationId와 함께 count를 1로 보내면, 작업이 완료될 때 결과가 대표 이미지가 됩니다.
  • 후보 여러 개. 아무것도 연결되지 않습니다. 현재 대표 이미지는 그대로 유지되고, 완료된 후보는 GET /v1/locations/:id의 previousCandidates에 나타납니다. 마음에 드는 후보를 승인하세요.
  • 현재 샷 편집. userPrompt는 “비와 물웅덩이를 추가해 줘” 같은 일회성 지시입니다. sourceImageUrl을 함께 보내면 원본 이미지가 지시에 맞게 편집됩니다. 이 지시는 장소에 저장되지 않습니다.
curl -X POST https://app.nodaro.ai/v1/generate-location \
  -H "Authorization: Bearer $NODARO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Rainy Tokyo Alley",
    "count": 1,
    "attachToLocationId": "9a1d3f5b-7c2e-4a8d-b6f1-3e5c7a9b2d4f"
  }'
const { jobIds } = await client.locations.generate({
  name: 'Rainy Tokyo Alley',
  description: 'Neon-soaked alley with vending machines',
  count: 4,
})
nodaro locations generate --name "Rainy Tokyo Alley" --count 1 \
  --attach-to-location-id <id> --watch
{ "jobId": "4d6f8b1a-3c5e-4f7a-9b2d-6e8a1c3f5b7d", "jobIds": ["4d6f8b1a-3c5e-4f7a-9b2d-6e8a1c3f5b7d"] }
필드기능
name필수입니다. 장소 이름입니다.
description, category, style장소의 정체성입니다.
count생성할 후보 수로, 1~10입니다. 기본값은 1입니다.
userPrompt이번 생성을 이끄는 일회성 지시입니다. 저장되지 않습니다.
sourceImageUrl편집하거나 시작점으로 쓸 이미지입니다.
provider이미지 모델 ID입니다. 기본 모델을 쓰려면 생략하세요.
quality, resolution이미지 모델의 출력 등급으로, 이미지 생성과 같은 가격이 적용됩니다.
attachToLocationId후보 하나를 이 장소에 연결합니다.

quality와 resolution은 캐릭터에서와 같이 작동합니다. 모델이 지원하지 않는 값은 가장 가까운 지원 값으로 바뀌고, 크레딧도 바뀐 값을 따릅니다. 작업의 input_data에서 실제로 실행된 값을 확인할 수 있습니다.

변형 생성

POST /v1/generate-location-asset은 변형 하나를 생성하고 { jobId }를 반환합니다. attachToLocationId, attachToColumn, attachName을 보내면, 작업이 완료될 때 { name: attachName, url }이 버킷에 추가됩니다.

curl -X POST https://app.nodaro.ai/v1/generate-location-asset \
  -H "Authorization: Bearer $NODARO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Rainy Tokyo Alley",
    "assetType": "weather",
    "variant": "storm",
    "attachToLocationId": "9a1d3f5b-7c2e-4a8d-b6f1-3e5c7a9b2d4f",
    "attachToColumn": "weather",
    "attachName": "storm"
  }'
await client.locations.generateAsset({
  name: 'Rainy Tokyo Alley',
  assetType: 'timeOfDay',
  variant: 'blue hour',
  attachToLocationId: id,
  attachToColumn: 'time_of_day',
  attachName: 'blue hour',
})
nodaro locations generate-asset <id> --asset-type weather --variant storm --watch

assetType은 timeOfDay, weather, seasons, angles, lighting, custom 중 하나입니다. attachToColumn은 time_of_day, weather, seasons, angles, lighting 중 하나이며, custom 변형에서는 이 값을 반드시 지정해야 합니다. 이 경로는 provider, quality, resolution, sourceImageUrl도 받습니다.

360도 뷰 만들기

POST /v1/generate-surround-continuation은 예를 들어 45도마다 한 뷰씩, 둘러보기 뷰를 하나씩 만듭니다. 각 호출은 이전 뷰를 이어 갑니다. Nodaro는 이전 뷰의 가장자리를 새 프레임으로 가져오고 나머지 부분만 그립니다. 그런 다음 새로 그린 부분의 노출과 색을 가져온 부분에 맞춥니다. 가져온 부분은 픽셀 단위로 정확히 유지되므로, 인접한 뷰가 파노라마 뷰어에서 서로 맞물립니다. 이 경로에는 Nodaro Cloud가 필요하며, 다른 에디션은 403 edition_required로 응답합니다.

curl -X POST https://app.nodaro.ai/v1/generate-surround-continuation \
  -H "Authorization: Bearer $NODARO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "referenceImageUrl": "https://cdn.nodaro.ai/locations/alley-main.png",
    "direction": "right",
    "degrees": 45,
    "provider": "nano-banana-pro",
    "aspectRatio": "16:9",
    "attachToLocationId": "9a1d3f5b-7c2e-4a8d-b6f1-3e5c7a9b2d4f",
    "attachToColumn": "angles",
    "attachName": "Surround 45°"
  }'
const { jobId } = await client.locations.generateSurroundContinuation({
  referenceImageUrl: previousView,
  direction: 'right',
  degrees: 45,
  provider: 'nano-banana-pro',
  aspectRatio: '16:9',
  attachToLocationId: id,
  attachToColumn: 'angles',
  attachName: 'Surround 45°',
})
필드기능
referenceImageUrl필수입니다. 이어 갈 이전 뷰입니다.
direction필수입니다. 회전하려면 right 또는 left, 기울이려면 up 또는 down입니다.
degrees이 뷰의 각도로, 0~360이며 결과와 함께 저장됩니다.
carriedFraction이전 뷰에서 가져올 프레임의 비율로, 0.1~0.9입니다. 기본값은 회전할 때 0.5이고, 기울일 때는 얇은 띠 정도입니다.
provider, aspectRatio이미지 모델과 프레임입니다. 에디터는 모든 뷰가 설정 샷과 맞도록 nano-banana-pro와 16:9를 사용합니다.
attachToLocationId, attachToColumn, attachName뷰를 연결합니다. 보통 angles 버킷에 연결합니다.

뷰마다 선택한 이미지 모델에서 생성 1회의 비용이 듭니다. 가장자리를 가져오는 작업과 색 맞춤에는 별도 요금이 없습니다.

설정 샷 애니메이션

POST /v1/generate-location-motion은 설정 샷을 흘러가는 안개, 느린 돌리, 드론 플라이 오버 같은 분위기 클립으로 바꿉니다. 이 경로는 { jobId }를 반환합니다. sourceImageUrl은 필수이며, 승인된 대표 이미지를 보내세요. attachToLocationId와 attachName을 보내면 클립이 atmosphereMotions에 추가되며, 열은 따로 보내지 않습니다.

curl -X POST https://app.nodaro.ai/v1/generate-location-motion \
  -H "Authorization: Bearer $NODARO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Rainy Tokyo Alley",
    "motionPrompt": "slow dolly-in, neon signs flicker, light rain falling",
    "sourceImageUrl": "https://cdn.nodaro.ai/locations/alley-main.png",
    "provider": "kling",
    "attachToLocationId": "9a1d3f5b-7c2e-4a8d-b6f1-3e5c7a9b2d4f",
    "attachName": "neon dolly-in"
  }'
await client.locations.generateMotion({
  name: 'Rainy Tokyo Alley',
  motionPrompt: 'slow dolly-in, neon signs flicker, light rain falling',
  sourceImageUrl: location.sourceImageUrl!,
  provider: 'kling',
  attachToLocationId: id,
  attachName: 'neon dolly-in',
})
nodaro locations generate-motion --name "Rainy Tokyo Alley" \
  --motion-prompt "slow dolly-in, neon signs flicker, light rain falling" \
  --source-image-url "https://cdn.nodaro.ai/locations/alley-main.png" \
  --provider kling --attach-to-location-id <id> --attach-name "neon dolly-in" --watch
필드기능
name, motionPrompt필수입니다. 장소 이름과 만들 움직임입니다.
sourceImageUrl필수입니다. 시작 프레임입니다.
providerkling(기본값), kling-turbo, kling-3.0, wan-i2v, wan-2.7-i2v 또는 seedance-2입니다.
aspectRatio16:9(기본값), 1:1, 3:4 또는 9:16입니다.
refineFromVideoUrl새 프롬프트로 다듬을 기존 클립입니다. 예를 들어 카메라를 움직이지 않고 안개를 비로 바꿀 때 씁니다. wan-i2v처럼 동영상을 동영상으로 변환할 수 있는 모델을 사용하세요.
attachToLocationId, attachName장소, 그리고 atmosphereMotions에 들어갈 클립 이름입니다.
모델개발사모드크레딧세부 정보
Kling 2.6Kuaishou이미지로 동영상 만들기, 텍스트로 동영상 만들기152부터Kling 2.6 I2V입니다. 모션이 사실적이며 5초/10초 클립과 선택형 네이티브 오디오를 지원합니다.
Kling 2.5 Turbo ProKuaishou이미지로 동영상 만들기, 텍스트로 동영상 만들기121부터더 빠른 Kling입니다. 더 낮은 비용으로 좋은 품질을 냅니다. 종료 프레임을 지원합니다.
Kling 3.0Kuaishou이미지로 동영상 만들기, 텍스트로 동영상 만들기297부터프리미엄 Kling 3.0입니다. 길이를 3~15초에서 조절할 수 있고, 네이티브 오디오와 720P/1080P를 지원합니다.
Wan 2.6 I2VAlibaba이미지로 동영상 만들기193부터Wan 2.6의 이미지로 동영상 만들기 모델입니다. 720p/1080p에서 5/10/15초 클립을 만듭니다.
Wan 2.7 I2VAlibaba이미지로 동영상 만들기207Wan 2.7의 이미지로 동영상 만들기 모델입니다. 720p/1080p에서 2~15초 길이를 만들며, 시작 프레임과 종료 프레임을 지원합니다.
Seedance 2Bytedance이미지로 동영상 만들기, 텍스트로 동영상 만들기253부터Seedance 2는 네이티브 오디오를 지원하는 프리미엄 등급입니다. 해상도별로 초 단위 요금이 매겨집니다.

대표 이미지 승인

POST /v1/locations/:id/approve-main-image에 { candidateJobId }를 보내면 완료된 후보가 대표 이미지로 설정되고, 같은 호출에서 canonicalDescription이 작성됩니다. 응답은 { sourceImageUrl, canonicalDescription }입니다.

설명 작성에 실패해도 대표 이미지는 설정되며, canonicalDescription은 빈 문자열이 됩니다. SDK는 null을 반환합니다. 다시 시도하려면 POST /v1/locations/:id/llm-caption을 호출하세요. 이 경로는 { canonicalDescription }을 반환하며, 설명을 작성할 수 없으면 502로, 아직 대표 이미지가 없으면 400 no_source_image로 응답합니다. 두 경로 모두 반복해서 호출해도 안전합니다. 승인은 무료입니다. llm-caption 호출은 1회에 8크레딧이 들고, 실패한 호출(502)은 환불됩니다.

curl -X POST https://app.nodaro.ai/v1/locations/9a1d3f5b-7c2e-4a8d-b6f1-3e5c7a9b2d4f/approve-main-image \
  -H "Authorization: Bearer $NODARO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "candidateJobId": "4d6f8b1a-3c5e-4f7a-9b2d-6e8a1c3f5b7d" }'
const { sourceImageUrl, canonicalDescription } =
  await client.locations.approveMainImage(id, jobIds[2])
nodaro locations approve-main-image <id> --candidate-job-id <jobId>
nodaro locations recaption <id>

장소 보관, 복원, 삭제

작업curlTypeScript SDKCLI
보관DELETE /v1/locations/:idclient.locations.delete(id)nodaro locations delete <id>
복원POST /v1/locations/:id/restoreclient.locations.restore(id)nodaro locations restore <id>
영구 삭제DELETE /v1/locations/:id?permanent=true지원하지 않음지원하지 않음
  • 보관은 { success: true, archived: true }를 반환합니다. 장소는 기본 목록에서 빠지지만, ID로는 계속 불러올 수 있습니다.
  • 복원은 { id, name }을 반환합니다. 대소문자와 관계없이 이름이 같은 활성 장소가 있으면 이름에 (restored) 접미사가 붙습니다.
  • 영구 삭제는 보관된 장소에서만 작동하며(그렇지 않으면 400 not_archived), 장소와 장소가 참조하는 파일 중 내 파일을 모두 제거합니다. 다른 사용자의 생성 작업이 만든 파일이나, 다른 사용자의 업로드 폴더 또는 라이브러리에 있는 파일은 저장소에 남으며, 내 저장 용량에 포함된 적이 없습니다. SDK와 CLI에서는 지원하지 않으며, 에디터의 보관함 화면에서는 확인을 위해 이름을 입력하라고 요청합니다.

앱 실행 시 변형 선택

장소 에셋 노드가 있는 워크플로를 앱으로 게시하면, 장소가 앱의 입력 중 하나가 됩니다. "weather/light-rain"처럼 "<bucket>/<variant>" 형식으로 보내면, 그 실행에서 해당 변형이 장소의 대표 이미지로 쓰입니다. 변형 이름은 소문자로 쓰고 공백은 하이픈으로 바꾸세요. 알 수 없는 버킷이나 변형을 보내면 대표 이미지가 대신 쓰입니다.

다른 생성에서 장소 사용

장소의 에셋 URL을 이미지 생성이나 동영상 생성에 레퍼런스 이미지로 전달하세요. 코드에서는 URL을 명시하는 방법이 가장 간단합니다. 워크플로에서는 장소 노드를 이미지 노드에 연결하거나, 프롬프트에서 변형을 멘션하세요. 예를 들어 Old Library라는 장소라면 @oldlibrary:1:weather/rain처럼 씁니다. 멘션이 없으면 Nodaro가 프롬프트에서 변형 이름을 찾습니다. 프롬프트에 “at sunset”(해 질 무렵)이 있으면, dusk 변형이 있을 때 그 변형이 선택됩니다. 장소를 참고하세요.

MCP에서 사용

도구기능
list_locations, get_location장소를 찾고 변형 URL을 읽습니다.
create_location, update_location장소를 만들거나 정체성 필드를 바꿉니다.
generate_location대표 이미지(kind: "main") 또는 변형(kind: "asset")을 생성합니다.
generate_location_motion대표 이미지를 애니메이션으로 만듭니다.
approve_main_image, recaption_location대표 이미지를 승인하거나, 설명을 다시 작성합니다.

보관과 복원은 의도적으로 MCP에서 제공하지 않습니다. MCP 도구 참조를 참고하세요.

크레딧

경로Nodaro Cloud 가격
POST /v1/generate-location이미지 모델 가격에 count를 곱한 값입니다. 첫 작업이 시작되기 전에 모든 후보의 크레딧이 예약됩니다.
POST /v1/generate-location-asset변형마다 이미지 모델 가격입니다.
POST /v1/generate-surround-continuation뷰마다 이미지 모델 가격입니다.
POST /v1/generate-location-motion클립마다 동영상 모델의 이미지로 동영상 만들기 가격입니다.
approve-main-image무료입니다.
llm-caption호출마다 8크레딧입니다.

오류

상태코드의미
400validation_error필드가 없거나 잘못되었습니다.
400not_archived보관되지 않은 장소에 영구 삭제를 보냈습니다.
400no_source_image장소에 대표 이미지가 생기기 전에 llm-caption을 호출했습니다.
401unauthorized토큰이 없거나, 유효하지 않거나, 취소되었습니다.
402insufficient_creditsNodaro Cloud 전용입니다. 계정 잔액으로 예약을 충당할 수 없습니다.
403edition_requiredCommunity Edition 또는 Business 에디션에서 360도 뷰 경로를 호출했습니다.
404not_found내 장소 중에 해당 ID의 장소가 없습니다.
409concurrent_modificationexpectedUpdatedAt이 더 이상 일치하지 않습니다. 장소를 다시 읽고 병합한 뒤 다시 시도하세요.
502—기준 설명을 작성할 수 없었습니다. 다시 시도하세요.

자주 묻는 질문

Nodaro API에서 장소란 무엇인가요?

장소는 승인된 설정 샷, 글로 쓴 설명, 그리고 해 질 녘이나 비 오는 날의 같은 거리 같은 변형 이미지를 담은 저장된 공간입니다. 이미지 노드와 동영상 노드가 장소를 재사용하므로, 모든 샷에서 같은 공간이 똑같이 보입니다.

현재 설정 샷을 잃지 않고 새 설정 샷을 시도하려면 어떻게 하나요?

후보 여러 개를 연결하지 않고 생성하세요. 후보를 승인하기 전까지 현재 대표 이미지는 그대로 유지되며, GET /v1/locations/:id가 최근 후보를 최대 5개까지 previousCandidates에 나열합니다.

장소에 레퍼런스 사진을 추가하려면 동의가 필요한가요?

네. 레퍼런스 사진에는 사람이 나올 수 있으므로, 처음 사진을 추가할 때 ISO 타임스탬프인 piiConsentAt을 설정하세요. 이 값은 사진을 사용할 권리와 동의가 있음을 기록합니다.

장소의 360도 뷰를 만들 수 있나요?

Nodaro Cloud에서는 POST /v1/generate-surround-continuation이 이전 뷰에서 파노라마의 다음 뷰를 생성하고, 겹치는 절반을 픽셀 단위로 정확히 유지해 뷰가 서로 맞물리게 합니다. 뷰마다 이미지 생성 1회의 비용이 듭니다.

장소를 애니메이션으로 만드는 모델은 무엇인가요?

동영상 모델 6개입니다. 공급자 ID로 kling(기본값, Kling 2.6), kling-turbo, kling-3.0, wan-i2v, wan-2.7-i2v, seedance-2입니다. 클립마다 해당 모델의 이미지로 동영상 만들기 가격이 듭니다.

최종 업데이트

목차