Skip to content

Parameter validation error results in code 'unknown' instead of 'validation' #3

Description

@zspiler

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

  1. API returns code parameterConflict
  2. 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?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions