MCPcopy Create free account
hub / github.com/TanStack/ai / transformResponse

Method transformResponse

packages/ai-fal/src/adapters/image.ts:131–163  ·  view source on GitHub ↗
(
    response: Result<OutputType<TModel>>,
  )

Source from the content-addressed store, hash-verified

129 }
130
131 private transformResponse(
132 response: Result<OutputType<TModel>>,
133 ): ImageGenerationResult {
134 const images: Array<GeneratedImage> = []
135 const data = response.data
136
137 // Handle array of images (most models return { images: [...] })
138 if ('images' in data && Array.isArray(data.images)) {
139 for (const img of data.images) {
140 images.push(this.parseImage(img))
141 }
142 }
143 // Handle single image response (some models return { image: {...} })
144 else if ('image' in data && data.image && typeof data.image === 'object') {
145 images.push(this.parseImage(data.image))
146 }
147
148 if (images.length === 0) {
149 throw new Error(
150 'Unexpected fal image response shape. Expected images[] or image{}. Got keys: ' +
151 Object.keys(data).join(','),
152 )
153 }
154
155 const usage = buildFalUsage(takeBillableUnits(response.requestId))
156
157 return {
158 id: response.requestId || this.generateId(),
159 model: this.model,
160 images,
161 ...(usage ? { usage } : {}),
162 }
163 }
164
165 private parseImage(img: unknown): GeneratedImage {
166 let url: string

Callers 1

generateImagesMethod · 0.95

Calls 5

parseImageMethod · 0.95
generateIdMethod · 0.95
buildFalUsageFunction · 0.90
takeBillableUnitsFunction · 0.90
pushMethod · 0.45

Tested by

no test coverage detected