Integração de imagem, áudio, vídeo e recuperação

Esses recursos usam a mesma Base URL e chave bearer do chat, mas cada um tem seu próprio endpoint e payload. Os IDs de modelo abaixo são exemplos funcionais; consulte Console → Modelos para o catálogo de modelos mais recente antes de colocar em produção.

Geração de imagens

POST /v1/images/generations

Envie um prompt em JSON. Leia o recurso gerado em data[0].url, ou em data[0].b64_json quando o modelo selecionado retornar base64.

Parâmetros principais: prompt e model são obrigatórios. Use size para a resolução, n para o número de imagens e response_format para url ou b64_json. quality e style são específicos de cada modelo; valores comuns incluem standard, hd ou auto.

curl · image
curl https://api.chinaapi.ai/v1/images/generations \
  -H "Authorization: Bearer $CHINAAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "doubao-seedream-4-5-251128",
    "prompt": "A cinematic skyline at blue hour",
    "size": "1024x1024",
    "response_format": "url",
    "n": 1
  }'

Geração de imagens Gemini

POST /v1/chat/completions

Os modelos de imagem do Gemini usam o formato de requisição do OpenAI Chat Completions. Leia a imagem em Markdown gerada em choices[0].message.content; o payload da imagem é uma URL data:image/....

Parâmetros principais: envie o ID do modelo do catálogo autenticado em model e o prompt da imagem em messages. Não envie esse modelo para /v1/images/generations.

curl · Gemini image chat
curl https://api.chinaapi.ai/v1/chat/completions \
  -H "Authorization: Bearer $CHINAAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "<GEMINI_IMAGE_MODEL>",
    "messages": [
      {
        "role": "user",
        "content": "Generate a cinematic skyline at blue hour"
      }
    ],
    "stream": false
  }'

Fala para texto

POST /v1/audio/transcriptions

Envie o áudio como multipart form data; não defina o cabeçalho Content-Type manualmente. O texto reconhecido é retornado no campo text.

Parâmetros principais: envie model e file como campos multipart. Use response_format como json, text ou verbose_json quando suportado pelo modelo selecionado.

curl · transcription
curl https://api.chinaapi.ai/v1/audio/transcriptions \
  -H "Authorization: Bearer $CHINAAPI_KEY" \
  -F "model=qwen3-asr-flash" \
  -F "file=@speech.wav" \
  -F "response_format=json"

Texto para fala

POST /v1/audio/speech

O corpo da resposta é áudio binário, então grave-o em um arquivo. alloy seleciona a voz padrão do modelo; um modelo também pode publicar IDs de voz específicos do provedor.

Parâmetros principais: use input, model e voice. Selecione uma saída com response_format, como mp3 ou wav; speed e instructions estão disponíveis quando o modelo selecionado suportar.

curl · speech
curl https://api.chinaapi.ai/v1/audio/speech \
  -H "Authorization: Bearer $CHINAAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "mimo-v2.5-tts",
    "input": "Hello from ChinaAPI.",
    "voice": "alloy",
    "response_format": "mp3"
  }' \
  --output speech.mp3

Geração de vídeo

POST /v1/video/generations

A geração de vídeo é assíncrona. Envie uma vez, salve o task_id retornado e então consulte GET /v1/video/generations/{task_id} até a tarefa concluir com sucesso ou falhar. A criação de uma tarefa pode consumir cota.

Parâmetros principais: prompt e model iniciam a tarefa. Use duration, width, height, fps e n quando suportado. A resolução é o controle de nitidez mais comum. Coloque controles específicos do provedor, como quality, quality_level, negative_prompt ou ajustes de câmera, em metadata apenas quando estiverem listados para esse modelo.

curl · video
curl https://api.chinaapi.ai/v1/video/generations \
  -H "Authorization: Bearer $CHINAAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "happyhorse-1.1-t2v",
    "prompt": "A paper boat crossing a moonlit lake",
    "duration": 5,
    "width": 1280,
    "height": 720
  }'

curl https://api.chinaapi.ai/v1/video/generations/$TASK_ID \
  -H "Authorization: Bearer $CHINAAPI_KEY"