Skip to main content

API Endpoint

Full compatibility with OpenAI official formatLaozhang API is fully compatible with OpenAI official interface format, you can directly replace https://api.openai.com/v1 with https://api2.laozhang.ai/v1 to use.

Request Parameters

Required Parameters

string
required
Model name to useSupported models:
  • OpenAI Series: gpt-4o, gpt-4o-mini, gpt-4-turbo, gpt-3.5-turbo, etc.
  • Claude Series: claude-3-5-sonnet, claude-3-opus, claude-3-haiku, etc.
  • Gemini Series: gemini-1.5-pro, gemini-1.5-flash, gemini-2.0-flash-exp, etc.
  • Chinese Models: deepseek-chat, qwen-max, glm-4-flash, yi-lightning, etc.
For complete model list, see API Reference - Models
array
required
Conversation message array, each message contains role and content
Role Descriptions:
  • system: System prompt, defines AI assistant behavior
  • user: User message
  • assistant: AI assistant’s previous response

Optional Parameters

number
default:"1"
Randomness of generated results, range 0-2
  • 0: Deterministic, minimal randomness (recommended for translation, summarization, etc.)
  • 0.7: Balanced, suitable for most scenarios
  • 1.5-2: High creativity (recommended for creative writing, brainstorming, etc.)
integer
Maximum number of tokens to generate
If not set, model will use its default limit. If response is truncated, try increasing this value.
Recommended Values:
  • Short responses: 500-1000
  • Medium responses: 2000-4000
  • Long responses: 8000+
boolean
default:"false"
Whether to use stream output
  • false: Wait for complete response
  • true: Receive response in chunks (better user experience)
number
default:"1"
Nucleus sampling parameter, range 0-1Controls diversity of output. Generally use either temperature or top_p, not both simultaneously.
number
default:"0"
Frequency penalty, range -2.0 to 2.0Positive values reduce repetition of already appearing content.
number
default:"0"
Presence penalty, range -2.0 to 2.0Positive values encourage discussion of new topics.
string | array
Stop sequences, generation stops when these strings are encounteredCan be a single string or array of up to 4 strings.
string
End user unique identifier for abuse detectionRecommended for multi-user scenarios.

Message Format

Basic Text Message

Multimodal Message (Image Understanding)

Multimodal ModelsSupport image understanding:
  • OpenAI: gpt-4o, gpt-4o-mini, gpt-4-turbo
  • Claude: claude-3-5-sonnet, claude-3-opus, claude-3-sonnet, claude-3-haiku
  • Gemini: gemini-1.5-pro, gemini-1.5-flash, gemini-2.0-flash-exp

Request Examples

cURL

Node.js

Python

Go

Response Format

Standard Response

Stream Response

Each chunk format:
Last chunk (finish_reason not null):

Response Field Descriptions

string
Unique request identifier
string
Object type:
  • chat.completion: Standard response
  • chat.completion.chunk: Stream response chunk
integer
Creation timestamp (Unix timestamp)
string
Model name used
array
Generated results array, typically containing one result
integer
Result index
object
Message object (standard response)
string
Role, always assistant
string
Generated content
object
Incremental content (stream response)
string
This chunk’s content
string
Completion reason:
  • stop: Natural completion
  • length: Reached max_tokens limit
  • content_filter: Content filtered by policy
  • null: Not yet finished (stream output)
object
Token usage statistics
integer
Input tokens
integer
Output tokens
integer
Total tokens

Special Usage

GPT-4o Vision

Multiple ImagesGPT-4o supports analyzing multiple images simultaneously, just add multiple image_url objects to the content array.

Claude Native Format

Claude models also support native format:

O1 Series Special Parameters

O1 series models (o1-preview, o1-mini) have parameter limitations:
O1 Series Limitations
  • Do not support system role messages
  • Do not support stream output (stream must be false)
  • Do not support temperature, top_p, presence_penalty, frequency_penalty parameters
  • max_tokens defaults to model’s maximum value
Correct usage:

Usage Tips

Multi-turn Dialogue

Implement multi-turn dialogue by passing context:

JSON Output

Get structured JSON output:
JSON Mode SupportCurrently supports JSON mode models:
  • GPT-4o series
  • GPT-4-turbo series
  • GPT-3.5-turbo-1106 and later versions

Billing

Billing is based on actual token usage: Total Cost = (Input Tokens × Input Price + Output Tokens × Output Price)
Save Costs
  1. Choose appropriate models: Most scenarios don’t require GPT-4o, gpt-4o-mini or gpt-3.5-turbo are sufficient
  2. Control context length: Only pass necessary historical messages
  3. Set max_tokens: Avoid unnecessarily long output
  4. Use mini series models: For simple tasks, mini models are lightweight choices

Model Price Reference

For complete pricing, see Pricing

Error Handling

Common error codes: Error response example:

Best Practices

  1. Use Appropriate Temperature
    • Translation, summarization, Q&A: temperature=0
    • General dialogue: temperature=0.7
    • Creative writing: temperature=1.0-1.5
  2. Control Context Length
    • Only pass necessary historical messages
    • Regularly clean up irrelevant context
    • Long documents can be processed in segments
  3. Choose Right Model
    • Simple tasks: gpt-4o-mini, gpt-3.5-turbo
    • Reasoning tasks: claude-3-5-sonnet, gpt-4o
    • Cost-sensitive: gemini-1.5-flash
  4. Error Retry
    • Implement exponential backoff retry mechanism
    • Catch and handle different error types
    • Set reasonable timeout
  5. Stream Output
    • Better user experience for long responses
    • Reduce perceived latency
    • Can implement typewriter effect