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