I'm trying to implement error handling based on error.code.
It seems that in Seedance's case, error related to invalid parameters results in error code 'unknown' instead of 'validation'.
Example
const [result] = await client.run({
model: 'bytedance:seed-audio@1.0',
positivePrompt: 'Generate a voiceover for the following text: "Hello, how are you?"',
inputs: {
referenceImages: [
'<some_image_url>`,
],
referenceAudios: ['<some_audio_url>'],
},
})
produces error
RunwareError: Parameter conflict detected. Only 1 allowed together: 'inputs.referenceAudios', 'inputs.referenceImages'.
retryable: false,
parameter: "[inputs][referenceImages]",
taskType: "audioInference",
taskUUID: "dceee9a4-cd61-44fe-afa8-1bf517236138",
documentation: "https://runware.ai/docs/models/bytedance-seed-audio-1-0#request-[inputs][referenceimages]",
statusCode: 400,
code: "unknown"
Cause
Seems that in above case
- API returns code
parameterConflict
- In
deriveCode, parameterConflict is not classified validation
Function deriveCode does classify as validation if || raw.startsWith('conflict'), so could something like endsWith('Conflict') be added?
I'm trying to implement error handling based on error.code.
It seems that in Seedance's case, error related to invalid parameters results in error code 'unknown' instead of 'validation'.
Example
produces error
Cause
Seems that in above case
parameterConflictderiveCode,parameterConflictis not classifiedvalidationFunction
deriveCodedoes classify asvalidationif|| raw.startsWith('conflict'), so could something likeendsWith('Conflict')be added?